Wordstat API: частотность, динамика и регионы запросов Яндекса
Статистика поисковых запросов Яндекса из официального Wordstat API v2: какие запросы содержат фразу, как спрос меняется во времени и где его больше. Названия регионов уже включены в ответ — справочник отдельно запрашивать не нужно. Для формата DataForSEO есть Keywords API.
| Эндпоинт | Что делает |
|---|---|
POST /v2/wordstat/top |
Популярные запросы с фразой и похожие запросы |
POST /v2/wordstat/dynamics |
Динамика спроса по месяцам, неделям или дням и тренд |
POST /v2/wordstat/regions |
Распределение спроса по регионам |
Все запросы — с ключом в заголовке Authorization: Bearer <ключ> (см. Аутентификация).
Полная схема — в справочнике proxy.seyka.ru/api-docs.
Популярные запросы
Заголовок раздела «Популярные запросы»POST /v2/wordstat/top возвращает запросы, содержащие фразу, похожие запросы (associations) и общее
число показов.
| Поле | По умолчанию | Описание |
|---|---|---|
phrase |
— | Фраза, обязательное |
numPhrases |
50 |
Сколько запросов вернуть, 1–2000 |
regions |
все | Коды регионов Яндекса, например [213] — Москва |
devices |
все | DEVICE_ALL, DEVICE_DESKTOP, DEVICE_PHONE, DEVICE_TABLET (также all, desktop, phone или mobile, tablet) |
curl -X POST "https://proxy.seyka.ru/v2/wordstat/top" \ -H "Authorization: Bearer $SEYKA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phrase": "купить телефон", "regions": [213], "numPhrases": 10}'import osimport httpx
r = httpx.post( "https://proxy.seyka.ru/v2/wordstat/top", json={"phrase": "купить телефон", "regions": [213], "numPhrases": 10}, headers={"Authorization": f"Bearer {os.environ['SEYKA_API_KEY']}"}, timeout=30,)for item in r.json()["results"]: print(item["phrase"], item["count"]){ "results": [ { "phrase": "купить телефон", "count": 412300 }, { "phrase": "купить телефон недорого", "count": 45230 } ], "associations": [ { "phrase": "смартфон купить", "count": 18900 } ], "totalCount": 412300}Динамика
Заголовок раздела «Динамика»POST /v2/wordstat/dynamics возвращает число запросов и их долю от всех запросов Яндекса за каждый период,
плюс вычисленный тренд.
| Поле | По умолчанию | Описание |
|---|---|---|
phrase |
— | Фраза, обязательное |
period |
PERIOD_MONTHLY |
PERIOD_MONTHLY, PERIOD_WEEKLY или PERIOD_DAILY (также monthly, weekly, daily) |
fromDate / toDate |
последний год | Даты YYYY-MM-DD; выравниваются по границам периода |
regions |
все | Коды регионов Яндекса |
devices |
все | Как у top |
Без дат возвращается последний год, заканчивающийся последним завершённым периодом: для месяцев — прошлым месяцем, для недель — прошлой неделей, а в воскресенье — текущей, которая заканчивается сегодня. Дневные данные доступны только за последние 60 дней.
curl -X POST "https://proxy.seyka.ru/v2/wordstat/dynamics" \ -H "Authorization: Bearer $SEYKA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phrase": "купить телефон", "period": "PERIOD_MONTHLY"}'{ "results": [ { "date": "2025-10-01", "count": 125000, "share": 0.082 }, { "date": "2025-11-01", "count": 118000, "share": 0.078 }, { "date": "2025-12-01", "count": 142000, "share": 0.091 } ], "trend": "up 13.6%"}trend сравнивает первый и последний периоды: up N%, down N%, stable (изменение в пределах 1%) или
up (new), если в первом периоде запросов не было.
Регионы
Заголовок раздела «Регионы»POST /v2/wordstat/regions показывает, как спрос распределён по регионам: страна, округа, области, города.
| Поле | По умолчанию | Описание |
|---|---|---|
phrase |
— | Фраза, обязательное |
region |
REGION_ALL |
Детализация: REGION_ALL, REGION_CITIES или REGION_REGIONS (также all, cities, regions) |
devices |
все | Как у top |
curl -X POST "https://proxy.seyka.ru/v2/wordstat/regions" \ -H "Authorization: Bearer $SEYKA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"phrase": "купить телефон", "region": "REGION_CITIES"}'{ "regions": [ { "regionId": 213, "regionName": "Москва", "regionNameEn": "Moscow", "regionType": "city", "parentId": 1, "parentName": "Москва и область", "countryCode": "RU", "count": 45000, "share": 0.0625, "affinityIndex": 103.15 } ]}share — доля региона в общем спросе, affinityIndex — индекс региональной популярности: больше 100 — фраза
в регионе популярнее, чем в среднем, меньше 100 — менее популярна.
Данные Wordstat исторические, поэтому ответы кэшируются. Повтор того же запроса в пределах окна кэша
оплачивается по цене повтора из кэша; попадание показывает заголовок X-Cache: HIT.
400— пустаяphrase, отрицательныйnumPhrasesили больше 2000 (0означает значение по умолчанию, 50), неизвестныйperiodилиregion.403— исчерпана квота Wordstat у источника.429— Wordstat ограничил частоту запросов; повторите позже.503— сервис Wordstat не настроен или недоступен.500— сбой запроса к Wordstat, в том числе запрос, который Wordstat отклонил.
Остальные коды — в разделе Ошибки.
Каждый вызов оплачивается отдельно, повтор из кэша — дешевле. Ставки — на странице Цены.