API

面向 AI 的搜索 API

一行 HTTP 请求即得结构化搜索结果,为 AI 应用 / RAG / Agent 提供实时全网检索。对标 Firecrawl · Exa · Tavily

快速开始

GET /api/v1/search
curl "https://tutusoo.com/api/v1/search?q=rust&limit=5"

查询参数

参数类型说明
q*string搜索查询词(必填);多词默认 AND(全部命中)
limitint返回条数,默认 10,最大 100
offsetint分页偏移,默认 0,最大 990
langstring语言过滤,如 zh / en
time_rangestring收录时间范围:1d/7d/30d/1y/all(按 crawled_at)
sitestring限定站点域名
lang_prioritystring语言优先(软加权,非硬过滤):如 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:站点展示名,字段可能省略;缺少时用 domainsource: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-LimitX-RateLimit-RemainingX-RateLimit-Reset。客户端遇到 429 时应按响应提示退避,不要无上限立即重试。