wordstatapi Частоты запросов из Вордстата
Собирает частоты Яндекс Вордстата для списка запросов: общую, точную, в кавычках и с фиксированным порядком слов — по одному или нескольким регионам. Дополнительно считает годовую частоту и её разбивку по месяцам. Метод асинхронный: постановка возвращает report_id, результат забирается по нему. То же в интерфейсе — сбор частот и запросов из Вордстата.
- Режим
- асинхронный:
report_id - Запросов в задаче
- до 10 000
- Стоимость
- 1 лимит за каждую частоту по каждому запросу и региону; списывается после выполнения
- Параллельно
- до 5 задач
Постановка задачи
/api/wordstatapi
Параметры задачи передаются в теле формы, ключ — в query. Если не выбран ни один тип частоты, собирается общая (overall).
Параметры query и тело формы
-
requestsarray обязательныйЗапросы: массивrequests[]или строка, по запросу на строку. До 10 000 штук, длина запроса с минус-словами — до 250–3000 символов в зависимости от источника данных. -
lrarray обязательныйРегионы Яндекса: массивlr[], можно несколько.all— без привязки к региону. -
devicestringТип устройств. Любое другое значение, в том числеall, — все устройства. -
overallint1— общая частота (слово запроса без операторов). -
exactint1— точная частота ("!слово !слово"). -
quotedint1— частота в кавычках. -
fixedint1— точная частота с фиксированным порядком слов. В ответе — полеexact_fixed. -
delete_special_charactersint1— убрать спецсимволы из запросов. -
delete_zero_keywordsint1— убрать из ответа запросы с нулевой общей или точной частотой. -
frequency_relationsint1— посчитать отношение точной частоты к общей. -
cb_total_annualint1— годовая частота: сумма общей частоты за 12 месяцев. -
cb_total_annual_by_monthint1— годовая частота с разбивкой по месяцам. -
cb_total_annual_by_month_typeintЗа сколько месяцев отдать помесячную разбивку. Другие значения заменяются на 12.
Ответ
-
report_idintID задачи для получения результата.
Получение результата
/api/wordstatapi
Пока задача выполняется, приходит {"error": "In progress", "code": 50}. Готовый результат — объект: запрос → регион → частоты.
Параметры query
-
report_idint обязательныйID задачи из ответа на постановку.
Ответ
Частота, которую не заказывали, равна -1.
-
{запрос}.{регион}.fromstringОткуда запрос:Исходная фраза. -
{запрос}.{регион}.overallintОбщая частота. -
{запрос}.{регион}.exactintТочная частота. -
{запрос}.{регион}.quotedintЧастота в кавычках. -
{запрос}.{регион}.exact_fixedintТочная частота с фиксированным порядком слов. -
{запрос}.{регион}.frequency_relationsfloatТочная / общая, два знака;0, если одна из частот нулевая. -
{запрос}.{регион}.total_annualintТолько с годовой частотой: сумма за период. -
{запрос}.{регион}.by_monthobjectТолько с годовой частотой: дата начала месяца (ДД.ММ.ГГГГ) → частота. -
{запрос}.{регион}.by_periodsobjectТолько с годовой частотой: суммыlast_12_monthsиprevious_12_months. -
periodsobjectГраницы периодовlast_12_monthsиprevious_12_months; пустой массив без годовой частоты.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-50 |
{поле: описание} |
Ошибки параметров: в error — объект «поле → сообщение» (requests, lr, requests_count — больше 10 000 запросов, limits — не хватает лимитов на оценку стоимости). Запрос не методом POST — ["Data not set"]. |
-60 |
To many tasks from one user. Try again later. Launched 5 threads out of 5 |
Уже идут 5 задач этого метода. |
50 |
In progress |
Задача ещё выполняется. |
-4 |
Access denied |
report_id чужой или от другого инструмента. |
-104…-107, -125 |
Processing error / Limits run out / … |
Задача завершилась ошибкой — см. асинхронные задачи. |
-68, -80…-83 |
Not enough … limits |
Исчерпан дневной, часовой, недельный, месячный или годовой лимит. |
-1, -2 |
Access denied |
Ключ не передан (HTTP 404) или не найден (HTTP 403). |
Сколько стоит
При постановке лимиты не списываются, а только проверяется, хватит ли их на оценку: запросы × число выбранных частот × регионы, а с годовой частотой — ещё +5 к множителю частот. Фактический расход списывается после выполнения: 1 лимит за каждую частоту каждого запроса в каждом регионе, годовая частота — 5 лимитов за запрос в регионе.
Регионы передавайте массивом lr[], даже если регион один: строка lr=213 ломает оценку стоимости.
Запросы сравниваются после очистки: двойные пробелы и лишние символы убираются, дубли схлопываются — ключи в ответе могут отличаться от переданных строк. Запросы без данных Вордстата в ответ не попадают.
Нужно расширить семантику, а не проверить готовый список — используйте wordstatapikeywords.