Перейти к содержимому

Tavily-совместимый API: поиск Яндекса вместо Tavily

Клиенты, написанные под Tavily, работают с API Сейки без переписывания: укажите базовый URL https://proxy.seyka.ru и ключ Сейки вместо tvly-…. Поиск идёт через Яндекс, извлечение страниц — через Smart Scrape.

Эндпоинт Что внутри
POST /v1/tavily/search Умный поиск Яндекса — тот же движок, что у POST /v1/search/yandex
POST /search Тот же поиск по пути Tavily, для клиентов, которые меняют только базовый URL
POST /v1/tavily/extract Smart Scrape для каждого URL — см. Smart Scrape
POST /extract То же извлечение по пути Tavily

Все запросы — с ключом в заголовке Authorization: Bearer <ключ> (см. Аутентификация).

Окно терминала
curl -X POST "https://proxy.seyka.ru/v1/tavily/search" \
-H "Authorization: Bearer $SEYKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "лучшие рестораны москвы", "max_results": 5}'
Поле Описание
query Поисковый запрос, обязательное
max_results Сколько результатов вернуть, по умолчанию 10, не больше 200
include_domains / exclude_domains Оставить или убрать домены вместе с поддоменами
region Расширение Сейки: код региона Яндекса (225 — Россия, 213 — Москва)
search_depth Принимается, ни на что не влияет
{
"query": "лучшие рестораны москвы",
"results": [
{
"title": "Лучшие рестораны Москвы — рейтинг",
"url": "https://example.ru/restaurants",
"content": "Рейтинг ресторанов Москвы по отзывам посетителей…",
"score": 1
}
]
}

Ответ содержит только query и results с полями title, url, content и score. score выводится из порядка результатов, а не из оценки релевантности, — Яндекс её не отдаёт.

Неизвестные поля в теле принимаются и игнорируются, поэтому стандартный клиент Tavily не получит ошибку. Но эффекта у них нет:

  • include_answer — готового ответа (answer) нет: для него нужна языковая модель, а это эндпоинт поиска.
  • include_raw_content — содержимое страниц не загружается; используйте POST /v1/tavily/extract.
  • include_images, topic, time_range, days, chunks_per_source, auto_parameters — игнорируются.
  • Поля answer, images, response_time, follow_up_questions в ответе отсутствуют.

Ограничение по времени и безопасный поиск доступны в Brave-совместимом GET и пакетном формате.

Поиск оплачивается так же, как POST /v1/search/yandex: по ступени, которая ответила (кэш, отложенный или синхронный режим Яндекса). Ответ несёт заголовки X-Cost-Cents, X-Search-Source и X-Search-Rungs — их смысл и порядок ступеней описаны в разделе Ступени и цена.

POST /v1/tavily/extract принимает тело Tavily Extract (urls — один URL или до 20) и возвращает results с raw_content в Markdown и failed_results. Параметры, лимиты и стоимость — на странице Smart Scrape.

https://api.tavily.com/search
https://proxy.seyka.ru/search
https://api.tavily.com/extract
https://proxy.seyka.ru/extract

Меняются только базовый URL и ключ. Если SDK позволяет задать базовый URL, укажите https://proxy.seyka.ru — запросы на /search и /extract придут на те же эндпоинты.

400 — пустой query, 429 — исчерпана квота поиска Яндекса, повторите позже. Остальные коды — в разделе Ошибки.

Поиск — по ступени, которая ответила; извлечение — по тарифу Smart Scrape. Ставки — на странице Цены.