AI 向け検索 API
1 回の HTTP リクエストで構造化検索結果——AI アプリ・RAG・エージェント向けのリアルタイム全網検索。代替: 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:domain | サイトに限定、例 site:github.com rust |
| intitle:word | その語を含むタイトルのみ一致 |
| "exact phrase" | フレーズ内の各語がすべて出現する必要 |
| -exclude | その語を含む結果を除外、例 rust -tutorial |
| A OR B | いずれかの語に一致、例 rust OR golang |
| filetype:type | ファイル種別で絞り込み(pdf/doc/ppt/xls)、例 filetype:pdf |
レスポンス
{
"total": 586,
"took_ms": 142,
"results": [
{
"id": "a1b2c3d4-…", // page id for local results; may be empty for external fallback
"url": "https://rust-lang.org/",
"title": "Rust Programming Language",
"snippet": "A language empowering everyone to build reliable software…",
"domain": "rust-lang.org",
"site_name": "Rust Programming Language", // display name (optional; client falls back to domain)
"lang": "en",
"score": 12.4,
"source": "local", // local (our index) | brave (web fallback)
"has_llms_txt": true,
"published_at": "2010-01-25T…", // article publish time (nullable; returned when known; RAG freshness/date)
"crawled_at": "2026-07-18T…" // crawl time (freshness; time_range filters on this)
}
]
} 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>"
# Response (RAG-relevant fields only, no internal columns):
{
"id": "…",
"url": "https://rust-lang.org/",
"title": "Rust Programming Language",
"body_text": "…full article text…",
"author": "Jane Doe", // author (nullable; RAG citation/byline)
"published_at": "2026-01-…", // original publish time (nullable; freshness)
"lang": "en",
"word_count": 1200,
"crawled_at": "2026-07-18T…",
"has_llms_txt": true
}アクセスとレート制限
公開の検索・コンテンツエンドポイントはログインも API キーも不要で、そのまま試せます。公開層はクライアント IP ごとに公平なレート制限を適用し、超過時は 429 を返します。専用 API キーは、確認済みの連携に対して運営側が発行します。本サイトは存在しないセルフサービス申請の入口は表示しません。
専用キーのレスポンスは X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset を返します。429 の場合はレスポンスの指示に従ってバックオフし、無制限に即時リトライしないでください。


















