Яндекс отдал Wordstat по API. Собираю 600 запросов за минуту и 40 копеек

Яндекс отдал Wordstat по API. Собираю 600 запросов за минуту и 40 копеек

Я потратил полдня, чтобы выяснить простую вещь: чтобы забрать частотность запросов из Wordstat программно, больше не нужен ни рекламный аккаунт, ни Директ, ни заявка на модерацию. Нужен один ключ, который выдают за пять минут.

Рассказываю, что нашёл, во сколько это обходится и на какие грабли я наступил по дороге.

Проблема, которая бесит всех, кто работает с семантикой

Wordstat в браузере — прекрасный инструмент ровно до момента, когда фраз становится больше десяти.

Одна фраза за раз. Капча через каждые несколько запросов. Копирование в Excel руками. Если нужно прогнать полсотни фраз и посмотреть сезонность по каждой — это полдня механической работы, после которой хочется уволиться.

Все, кто делал это регулярно, знают обходные пути: платные парсеры с абонентской платой, расширения для браузера, костыли на Selenium, которые ломаются после каждого редизайна.

Во что я упёрся сначала

Полез искать официальный API и уверенно пошёл не туда.

Я был убеждён, что Wordstat отдаётся только через API Яндекс Директа. А это значит: завести рекламный аккаунт, подать заявку на доступ к API, дождаться модерации, разобраться с OAuth. Ради одного метода — избыточно настолько, что большинство на этом и бросает.

Оказалось, я отстал от жизни.

Wordstat переехал в Search API

Сейчас Wordstat живёт в Yandex Search API v2, внутри AI Studio. Отдельным сервисом, без всякой зависимости от Директа.

Доступ — обычный API-ключ сервисного аккаунта. Тот же самый, которым дёргают YandexGPT. То есть если у вас уже есть аккаунт в Яндекс Облаке, доступ к семантике у вас фактически уже есть, просто вы об этом не знали.

Четыре метода:

  • topRequests — топ похожих запросов с частотностью за 30 дней плюс ассоциации
  • dynamics — частотность по времени: день, неделя, месяц
  • regions — распределение спроса по регионам и городам
  • getRegionsTree — справочник регионов

Всё синхронно, обычный REST, JSON на выходе.

Сколько это стоит

Вот здесь меня ждал приятный сюрприз. Официальный прайс, за 1000 запросов с НДС:

Яндекс отдал Wordstat по API. Собираю 600 запросов за минуту и 40 копеек

Две копейки за запрос. Причём один запрос — это не одна строчка данных. Один вызов возвращает до 2000 фраз с частотностью плюс блок ассоциаций. За две копейки вы получаете таблицу, а не число.

Для контраста, в том же прайсе рядом: обычный текстовый поиск — 488 ₽ за 1000, поиск с генеративным ответом — 5 080 ₽ за 1000. Wordstat дешевле их в 24 и 254 раза соответственно.

Никакой абонентской платы. Платите строго за использованное.

Что я собрал

Написал инструмент, который делает главное — избавляет от необходимости придумывать фразы руками.

Логика простая. Wordstat на каждый запрос возвращает две вещи: похожие формулировки и смежные темы. Если брать самые частотные из них и подавать обратно на вход, семантика раскручивается сама, лавиной.

На практике это выглядит так: я ввожу «ремонт квартир» — и через минуту получаю Excel на шестьсот фраз с частотностью, диаграммой топ-30 и пометкой, откуда каждая фраза найдена. Больше я не набираю ничего.

Три режима, чтобы контролировать расход:

Яндекс отдал Wordstat по API. Собираю 600 запросов за минуту и 40 копеек

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

Второй режим работы — проверка готового списка: по каждой фразе частотность, сезонность помесячно за год и тренд, растёт спрос или падает.

Самое интересное — в ассоциациях

Вот что стоит забрать из поста, даже если API вам не нужен.

В ответе Wordstat есть два блока. Results — это переформулировки вашей фразы. А associations — смежные темы, которые ищут те же самые люди. И там регулярно обнаруживается спрос в разы больше, чем по фразе, с которой вы начали.

Пример из разбора на Хабре, который меня зацепил. Автор готовил статью и был уверен, что целевой запрос — «чат бот для бизнеса». Проверил: 1 100 показов в месяц. Негусто. Заглянул в ассоциации, а там первой строкой слитное «чатбот» — 7 371 показов. В семь раз больше. Просто другое написание.

Опытный сеошник это увидел бы глазами, потому что в веб-интерфейсе всё на одном экране. А человек, который лезет в API за автоматизацией, легко возьмёт «то, что напрашивается», и промахнётся.

Мораль: всегда дёргайте обе колонки и сравнивайте.

Грабли, на которых я потерял время

Чтобы вы не теряли.

folderId обязателен, и его нигде не написано. Каждый запрос требует поле folderId в теле. Без него — INVALID_ARGUMENT. При этом в quickstart про него ни слова, будто все обязаны знать. Берётся на странице каталога в консоли, кнопка «копировать идентификатор».

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

Частотность приходит строкой, а не числом. Особенность конвертации protobuf int64 в JSON. Не обернёте в int — словите сюрприз на сортировке.

Не путайте три сервиса с похожими названиями. Есть старый «поиск по сайту», есть новый Search API v2 в AI Studio, и есть Директ. Нужен второй.

Меню создания ключа предлагает три варианта. Нужен именно «Создать API-ключ», а не статический ключ доступа и не авторизованный ключ.

Чего в API нет

Честно, чтобы не было разочарования.

Операторов нет. Ни восклицательного знака, ни кавычек, ни квадратных скобок. Передать в запросе можно, но точная фразовая частотность не гарантируется.

Отсюда следствие: API отдаёт базовую частотность — сумму всех запросов, содержащих эти слова в любом порядке и с любыми добавками. Реальный спрос конкретно по фразе всегда меньше, иногда в разы.

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

Сравнить несколько фраз в одном запросе нельзя — только по одной за вызов.

Google этот инструмент не видит. Для российского рынка обычно не проблема, но помнить стоит.

Кому это надо, а кому нет

Берите, если семантика нужна регулярно — от десятка запросов в день. Если уже есть аккаунт в Яндекс Облаке. Если не хочется заводить рекламный кабинет ради одного метода. Если надоели абонентки парсеров.

Не берите, если проверяете пять фраз в неделю — веб-интерфейс быстрее. Если нужна тонкая работа с операторами. Если Wordstat в Директе вас полностью устраивает.

Забирайте инструкцию

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

Отдельно разобраны все места, где спотыкался лично я. Читается за десять минут, настройка занимает пятнадцать.

Руководство лежит в моём боте — t.me/alexeyponomarev_bot Заходите и забирайте, это бесплатно.

Если пользуетесь Wordstat регулярно — расскажите в комментариях, чем собираете сейчас и что не устраивает. Интересно сравнить подходы.

3