面向 AI 的搜索 API
一行 HTTP 请求即得结构化搜索结果,为 AI 应用 / RAG / Agent 提供实时全网检索。对标 Firecrawl · Exa · Tavily。
快速开始
GET
/api/v1/searchcurl "https://tutusoo.com/api/v1/search?q=rust&limit=5"查询参数
| 参数 | 类型 | 说明 |
|---|---|---|
| q* | string | 搜索查询词(必填);多词默认 AND(全部命中) |
| limit | int | 返回条数,默认 10,最大 100 |
| offset | int | 分页偏移,默认 0,最大 990 |
| lang | string | 语言过滤,如 zh / en |
| time_range | string | 收录时间范围:1d/7d/30d/1y/all(按 crawled_at) |
| site | string | 限定站点域名 |
| lang_priority | string | 语言优先(软加权,非硬过滤):如 zh,命中该语言的结果小幅上浮但不隐藏其它语言;与 lang 独立 |
查询算子(写在 q 里)
| site:域名 | 限定站点,如 site:github.com rust |
| intitle:词 | 仅匹配标题含该词 |
| "精确短语" | 短语内所有词都要出现 |
| -排除词 | 排除含该词的结果,如 rust -教程 |
| A OR B | 任一词命中即可,如 rust OR golang |
| filetype:类型 | 按文件类型过滤(pdf/doc/ppt/xls),如 filetype:pdf |
响应
{
"total": 586,
"took_ms": 142,
"results": [
{
"id": "a1b2c3d4-…", // local 结果的页面 id;外部兜底可能为空
"url": "https://rust-lang.org/",
"title": "Rust 官网",
"snippet": "系统级编程语言…",
"domain": "rust-lang.org",
"site_name": "Rust Programming Language", // 站点展示名(可省略;无则客户端回退 domain)
"lang": "zh",
"score": 12.4,
"source": "local", // local(本站索引)| brave(全网兜底)
"has_llms_txt": true,
"published_at": "2010-01-25T…", // 文章发布时间(可空,有则返回;RAG 时效/展示日期)
"crawled_at": "2026-07-18T…" // 抓取时间(判新鲜度;time_range 过滤即按它)
}
]
} site_name:站点展示名,字段可能省略;缺少时用 domain。source:local=本站索引 /brave=本地结果不足时的全网兜底。has_llms_txt:目标站是否提供 llms.txt(AI 友好)。
获取全文(RAG)
GET
/api/v1/content/{id}当搜索结果 source=local 且 id 非空时,可取该页完整正文喂给 LLM。外部兜底结果没有本站正文,不能调用此端点。
curl "https://tutusoo.com/api/v1/content/<local_page_id>"
# 响应(只含 RAG 有用字段,无内部列):
{
"id": "…",
"url": "https://rust-lang.org/",
"title": "Rust 官网",
"body_text": "…完整正文…",
"author": "张三", // 作者(可空,RAG 引用/署名)
"published_at": "2026-01-…", // 原文发布时间(可空,判时效)
"lang": "zh",
"word_count": 1200,
"crawled_at": "2026-07-18T…",
"has_llms_txt": true
}访问方式 & 限额
公共搜索与正文端点无需登录或 API Key,可直接试用;公共层按客户端 IP 做公平限流,超出返回 429。专用 API Key 目前由运营方为已确认的服务集成开通,本站不展示不存在的自助申请入口。
专用 Key 响应会回带 X-RateLimit-Limit、X-RateLimit-Remaining 与 X-RateLimit-Reset。客户端遇到 429 时应按响应提示退避,不要无上限立即重试。


















