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

Документация UnoAPI — Яндекс Поиск, WordStat, скриншоты

Единый API для российских сервисов. Яндекс Поиск, WordStat, скриншоты, геолокация и многое другое — через один ключ.

Яндекс Поиск

Веб-поиск на русском языке. Совместимость с Tavily и Brave Search API. Документация →

SEO API

WordStat и Keywords — статистика поисковых запросов Яндекса в нативном и DataForSEO-совместимом формате. Документация →

IP Геолокация

Определение страны, города, провайдера и ASN по IP-адресу. Пакетные запросы до 100 IP. Документация →

Browser REST API

Smart Scrape — типизированное извлечение контента с автоматическим каскадом, плюс скриншоты, PDF, scrape и Lighthouse-аудит через headless Chromium. Совместимость с Browserless.io. Документация →

YandexGPT

Языковая модель от Яндекса. Оптимизирована для русского языка. Документация →

GigaChat

Языковая модель от Сбера. Мультимодальная, поддержка изображений. Документация →

Зарегистрируйтесь в личном кабинете и создайте API-ключ. Бесплатный тариф включает 100 запросов в день.

Окно терминала
curl https://proxy.unoapi.ru/v1/ipinfo/8.8.8.8 \
-H "Authorization: Bearer YOUR_API_KEY"
{
"ip": "8.8.8.8",
"country": "US",
"country_name": "United States",
"city": "Mountain View",
"region": "California",
"postal": "94035",
"latitude": 37.386,
"longitude": -122.0838,
"timezone": "America/Los_Angeles",
"asn": 15169,
"org": "GOOGLE"
}

Все запросы к API используют базовый URL:

https://proxy.unoapi.ru/v1

Все запросы требуют заголовок Authorization с Bearer-токеном:

Authorization: Bearer YOUR_API_KEY

Подробнее в разделе Аутентификация.

Тип лимита Значение
Запросов в минуту 100
Запросов в день (бесплатно) 100

При превышении лимита API возвращает 429 Too Many Requests.

Заголовки ответа содержат информацию о лимитах:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1706745600

Ответы кэшируются там, где данные это допускают: WordStat и Keywords, Smart Scrape (12-часовой кэш ответов и общий кэш документов), Lighthouse-аудит (/v1/browser/performance), проверка SSL и проверка РКН. Кэш общий — выдачу, за которую заплатил один запрос, получает следующий такой же, по цене кэша. Сроки хранения и цену повторного запроса — в разделе сервиса, если он есть.

Что произошло с кэшем, видно по заголовку X-Cache:

Значение Что означает
HIT ответ отдан из кэша, по цене кэша
MISS в кэше не было — сходили к провайдеру
BYPASS вы прислали Cache-Control: no-cache, кэш не читали
DISABLED эндпоинт проходит через кэш, но кэширование для него не включено
UNPRICED запрос выполнен и не тарифицирован — как правило, потому что для эндпоинта нет строки в прайсе
UNCACHEABLE запрос невозможно однозначно идентифицировать

Часть эндпоинтов кэш ответов вообще не проходит — поиск (/v1/search/* и /search), /v1/ipinfo, /v1/me — у них заголовка нет.

Заголовок означает «не отдавайте мне сохранённый ответ». Запрос идёт к провайдеру и оплачивается по полной цене, а полученный ответ записывается в кэш: следующий обычный запрос получит именно его, по цене кэша, вместо того чтобы платить за то же самое ещё раз. Там, где у провайдера жёсткие лимиты запросов, это важнее свежести.

Запрос выполнен и не тарифицирован — для эндпоинта нет строки в прайсе. Значение выводится из фактического списания, а не из конфигурации, поэтому если оно пришло, то запрос действительно бесплатный. Появляться оно не должно: скорее всего это наша ошибка в настройке, а не ваша.

Значение, которое стоит проверить у себя. Оно старше BYPASS: если запрос и с no-cache, и неидентифицируемый, придёт UNCACHEABLE — кэш для него не сработает ни на чтение, ни на запись, и это важнее того, что чтение вы и так отключили. Так помечаются запросы с некорректной query-строкой (в том числе с разделителем ; вместо &), с оборванным телом или с телом больше допустимого. Такой запрос выполняется и оплачивается, но никогда не попадает в кэш — то есть молча стоит полную цену на каждом вызове.