Поисковый API для ИИ
Один HTTP-запрос возвращает структурированные результаты — веб-поиск в реальном времени для ИИ-приложений, RAG и агентов. Альтернатива Firecrawl · Exa · Tavily.
Быстрый старт
/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 (дружелюбно к ИИ).
Получить полный текст (RAG)
/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 выдержите паузу согласно подсказкам ответа — не повторяйте запрос немедленно без ограничений.


















