Открыть в интерактивной справке · markdown для агентов: https://neuraldeep.ru/docs/search.md

Поиск · Search API

Тем же ключом — поиск по Telegram и нашей базе ТГ-каналов, поиск по интернету, чтение страницы по ссылке и краулинг сайтов. Эндпоинты под /v1/search/*. Доступно на всех тарифах, включая free (кроме API-only тарифа Coder), с отдельным от чата лимитом.

Две корзины лимитов: поиск (ТГ + база каналов + интернет + чтение страниц) и краулинг (отдельно — он тяжелее). Текущий остаток: GET /v1/search/quota или карточка «Search API» в дашборде. Каждый ответ поиска тоже несёт поле quota с остатком дня и месяца. При исчерпании придёт 429 с телом quota_exceeded и Retry-After.

Запрос и ошибки. POST /v1/search/web требует поле query, POST /v1/search/read и POST /v1/search/crawl требуют url, тело должно быть JSON-объектом. Без обязательного поля придёт 400. Ответ должен уложиться в 60 секунд. Если поиск или чтение страницы временно недоступны, придёт 503, при сбое на нашей стороне 502. У ключа в режиме «Кошелёк» с пустым балансом 402.

# наша база Telegram-каналов (vector + full-text)
curl "https://api.neuraldeep.ru/v1/search/tg?q=AI-агенты&limit=5" \
  -H "Authorization: Bearer $YOUR_KEY"

# поиск по интернету
curl https://api.neuraldeep.ru/v1/search/web \
  -H "Authorization: Bearer $YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"query":"свежие новости про LLM","limit":3}'
# чистый markdown одной страницы ("return_format":"text" для плоского текста)
curl https://api.neuraldeep.ru/v1/search/read \
  -H "Authorization: Bearer $YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
# обойти сайт (несколько страниц)
curl https://api.neuraldeep.ru/v1/search/crawl \
  -H "Authorization: Bearer $YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","limit":3}'

# сколько осталось по обеим корзинам
curl https://api.neuraldeep.ru/v1/search/quota \
  -H "Authorization: Bearer $YOUR_KEY"
import httpx

r = httpx.get(
    "https://api.neuraldeep.ru/v1/search/tg",
    params={"q": "RAG в проде", "limit": 5},
    headers={"Authorization": "Bearer $YOUR_KEY"},
)
data = r.json()
for item in data.get("results", []):
    print(item.get("channel"), "—", item.get("text", "")[:120])
print("остаток:", data.get("quota", {}).get("day"))

web-поиск и краулинг тратят реальные деньги провайдеров, поэтому у них отдельная (более скромная) корзина. ТГ-поиск по нашей базе — дешёвый, лимит щедрее.

Разделы справки (markdown для агентов)