Search1API文档

SearXNG

把 SearXNG 实例 URL 指向 Search1API,无需自行运行实例,即可继续使用 SearXNG 的 JSON 搜索 API、引擎选择和分类。

Search1API 兼容 SearXNG 的 JSON 搜索 API。将你的 SearXNG 实例地址替换为:

https://api.search1api.com/compat/searxng/YOUR_API_KEY

客户端可以在这个地址后追加 /search,也可以直接调用它,两种方式都可用。支持带查询参数的 GET,以及带表单请求体的 POST。

URL 中包含你的 API 密钥

SearXNG 客户端无法发送认证请求头,因此密钥是 URL 的一部分。请把整个 URL 当作机密信息对待。Search1API 会在自己的日志中隐去该密钥。建议在仪表盘中为这个 URL 单独创建一个密钥,以便单独吊销。

迁移概览和配置变更请参见从 SearXNG 迁移。

配置客户端

在 Admin Settings → Web Search 中选择 searxng 并设置 Searxng Query URL,或者设置环境变量:

SEARXNG_QUERY_URL="https://api.search1api.com/compat/searxng/YOUR_API_KEY/search?q=<query>"

或者直接调用:

curl "https://api.search1api.com/compat/searxng/YOUR_API_KEY/search?q=hono+workers&format=json"

参数

参数行为
q查询词。与 SearXNG 一样,开头的 !go 式引擎 bang、!news 式分类 bang 和 :de 式语言前缀都会生效。
formatjson 或省略。其他格式返回 400。
engines以逗号分隔的 SearXNG 引擎名称,见下表。
categories未提供 engines 时使用:general、news、images、videos(YouTube)、science(arXiv)和 it(GitHub)。其他分类按网页搜索处理。
languageen、en-US 等代码按其主语言处理。all 和 auto 表示不过滤。
time_rangeday、week、month 或 year。
pageno结果页码,每个引擎每页 10 条结果。参见结果分页。

其他参数,如 safesearch、theme 和 image_proxy,会被忽略。

引擎

SearXNG 引擎Bang搜索范围
google, bing, duckduckgo, yahoo, yandex, baidu, 360search, quark!go, !bi, !ddg, !yh, !yd, !bd, !360so, !qk同一引擎
wikipedia, grokipedia!wp, !gp同一来源
youtube, bilibili, imdb!yt, !bil, !imdb同一来源
github, arxiv, reddit!gh, !arx同一来源
sogou wechat!sogouw微信文章
google news, bing news, yahoo news, duckduckgo news, hackernews, reuters!gon, !bin, !yhn, !ddn, !hn, !reu同一来源的新闻
google images, bing images, duckduckgo images!goi, !bii, !ddi同一引擎的图片

如果 engines 中列出了不在此表中的名称,它们会出现在 unresponsive_engines 中,原因为 engine not supported。如果列出的引擎都不受支持,请求会回退到 categories,或回退为网页搜索。

积分

每搜索一个引擎消耗 1 积分,与一次原生搜索的价格相同。未提供 engines 的请求会为每个分类搜索一个默认引擎,每个分类消耗 1 积分。无法提供所请求页码的引擎会被跳过,且不计费。

响应

响应采用 SearXNG 的 JSON 结构:query、number_of_results、results、answers、corrections、infoboxes、suggestions 和 unresponsive_engines。

  • 来自多个引擎的结果会被合并。被多个引擎找到的 URL 只出现一次,engines 中列出所有相关引擎,positions 中列出其排名。
  • score 根据这些排名按 SearXNG 的公式计算,因此按分数排序的客户端可以继续正常工作。
  • 每条结果包含 url、title、content、engine、engines、positions、score、category、template、parsed_url 和 publishedDate。
  • 图片结果还包含 img_src 和 thumbnail_src。它们的 url 是图片 URL,而不是图片所在页面的 URL。
  • number_of_results 始终为 0,answers、corrections、infoboxes 和 suggestions 始终为空。

错误

错误返回 { "error": "message" } 及相应状态码。当所有选中的引擎都失败时,请求返回最相关的错误,例如密钥无效时返回 401,触发速率限制时返回 429。当只有部分引擎失败时,请求仍会成功,并在 unresponsive_engines 中列出失败的引擎。

本页内容