podskazkiyandex Сбор поисковых подсказок Яндекса
Собирает поисковые подсказки Яндекса для одной фразы в заданном регионе: при желании — с перебором букв и цифр после фразы и вглубь до трёх уровней. Метод асинхронный: первый вызов ставит задачу и отдаёт report_id, по нему забирается результат. То же в интерфейсе — Поисковые подсказки Яндекса.
- Режим
- асинхронный:
report_id - Стоимость
- 1 лимит за фразу + надбавки за перебор (см. ниже)
- Одновременно
- до 11 задач на пользователя
Постановка задачи
/api/podskazkiyandex
Все параметры передаются в query-строке. Лимиты списываются сразу при постановке.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. -
querystring обязательныйФраза, для которой собираются подсказки. Одна фраза на задачу. -
lrint обязательныйРегион Яндекса, например213— Москва. Подставляется в запрос к подсказкам. -
deepintГлубина: на втором и третьем уровне подсказки собираются уже для найденных подсказок. Любое другое значение превращается в1. -
cb_with_spacestringДополнительно запросить фразу с пробелом на конце. Каждая фраза дополнительно стоит 1 лимит. -
cb_with_numbersstringПеребрать цифры 0–9 после фразы. Каждая фраза дополнительно стоит 10 лимитов. -
cb_with_cyrillicstringПеребрать буквы русского алфавита после фразы. Каждая фраза дополнительно стоит 33 лимитов. -
cb_with_englishstringПеребрать буквы английского алфавита после фразы. Каждая фраза дополнительно стоит 26 лимитов. -
stop_liststringСтоп-слова: подсказки, содержащие любое из них, отбрасываются на всех уровнях. Разделитель — перевод строки\r\n(в URL —%0D%0A).
Ответ
-
report_idintНомер задачи для получения результата.
Получение результата
/api/podskazkiyandex
Пока задача выполняется, приходит {"error":"In progress","code":50} — повторяйте запрос раз в несколько секунд.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. -
report_idint обязательныйНомер задачи из ответа на постановку.
Ответ
-
requestobjectПараметры, с которыми была поставлена задача. -
responseobjectРезультат.Вложенные поля
-
type_tipsarrayПодсказки:phrase— текст,type— тип по-русски (навигационная, новостная, есть в подсказках, перестановка слов и т. п.),type_letter— исходный код типа от Яндекса. -
count_wordsobjectЧисло слов в каждой подсказке; ключи совпадают с индексамиtype_tips. -
count_phrasesintСколько подсказок собрано. -
excess_requests_flagboolСбор остановлен из-за ограничения объёма. -
not_parsed_phrasesarrayФразы, для которых подсказки не собирались. -
warning_textstringПредупреждение, если сбор оборвался раньше заданной глубины; иначе пусто.
-
-
timestringВремя ответа инструмента. -
costintРасчётная стоимость задачи в лимитах.
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-50 |
Not set |
Не передан query или lr. В теле ответа ключом служит имя параметра: {"query":"Not set"}, {"lr":"Not set"}; для пустого query — {"request":"Not set"}. |
-60 |
To many tasks from one user. Try again later. |
У пользователя уже больше 10 незавершённых задач этого инструмента. |
-68, -80…-83 |
Not enough … limits |
Не хватает дневных, часовых, недельных, месячных или годовых лимитов; в ответе есть available и need. |
-4 |
Access denied |
report_id не найден, принадлежит другому пользователю или другому инструменту. |
50 |
In progress |
Задача ещё выполняется. |
-104…-107, -125 |
Processing error / Limits run out / … |
Задача завершилась ошибкой, закончились лимиты, отменена или шла дольше 6 часов. |
-1, -2 |
Access denied |
Ключ не передан или не найден. |
Стоимость
1 лимит за фразу, плюс за каждый включённый перебор: пробел +1, цифры +10, русский алфавит +33, английский +26. Все переборы сразу — 71 лимит. Глубина на стоимость не влияет.
Перед постановкой метод проверяет лимиты без учёта переборов — задача может встать в очередь и затем остановиться с кодом -105, если лимитов не хватило.
Объём
Если на каком-то уровне набирается 10 000 подсказок и больше, сбор останавливается на нём и в warning_text пишется достигнутая глубина. Для нескольких фраз сразу используйте комплексный парсинг подсказок в интерфейсе.