Найти в Дзене
NeuralCrafter

Подключаем API Wordstat: пошаговая инструкция для новичков

API Wordstat позволяет автоматически получать частотность поисковых фраз, динамику и распределение по регионам — прямо в скрипты, ноды n8n/Make, Google Sheets и т.д. Важно: токены и секреты не публикуйте. Храните их в секрет-хранилищах/переменных окружения. Откройте в браузере: https://oauth.yandex.ru/authorize?response_type=code&client_id=ВАШ_CLIENT_ID Залогиньтесь и подтвердите доступ. На странице появится «Код подтверждения». Скопируйте его — он действует короткое время. Пример через curl: curl -X POST https://oauth.yandex.ru/token \
-d "grant_type=authorization_code" \
-d "code=ПОЛУЧЕННЫЙ_CODE" \
-d "client_id=ВАШ_CLIENT_ID" \
-d "client_secret=ВАШ_CLIENT_SECRET" В ответе придёт JSON с полями: Напишите в поддержку Яндекс.Директа :
укажите логин, ClientID и просьбу подключить API Wordstat.
Без одобрения сервер будет отвечать 403 Forbidden. POST https://api.wordstat.yandex.net/v1/topRequests
Headers:
Authorization: Bearer ВАШ_ACCESS_TOKEN
Content-Type: application/json;
Оглавление

Зачем это нужно?


API Wordstat позволяет автоматически получать частотность поисковых фраз, динамику и распределение по регионам — прямо в скрипты, ноды n8n/Make, Google Sheets и т.д.

Что потребуется

  • Аккаунт Яндекса
  • Доступ к API Wordstat
  • Любой инструмент для отправки HTTP-запросов: curl, Postman, n8n, Make.
Важно: токены и секреты не публикуйте. Храните их в секрет-хранилищах/переменных окружения.

Шаг 1. Регистрируем приложение в Яндекс OAuth

  1. Зайдите на oauth.yandex.ru → «Зарегистрировать новое приложение».
  2. Параметры:
    Платформа: Web.
    Redirect URI: https://oauth.yandex.ru/verification_code
    Название: любое (например, App Api).
  3. Сохраните ClientID и Client secret.

Шаг 2. Получаем авторизационный код (code)

Откройте в браузере:

https://oauth.yandex.ru/authorize?response_type=code&client_id=ВАШ_CLIENT_ID

Залогиньтесь и подтвердите доступ. На странице появится «Код подтверждения». Скопируйте его — он действует короткое время.

Шаг 3. Меняем code на access_token

Пример через curl:

curl -X POST https://oauth.yandex.ru/token \
-d "grant_type=authorization_code" \
-d "code=ПОЛУЧЕННЫЙ_CODE" \
-d "client_id=ВАШ_CLIENT_ID" \
-d "client_secret=ВАШ_CLIENT_SECRET"

В ответе придёт JSON с полями:

  • access_token — используем в заголовке Authorization: Bearer ...
  • refresh_token — пригодится, чтобы обновить access_token без повторного входа
  • expires_in — срок жизни токена (обычно до года)

Шаг 4. Запрашиваем доступ к API Wordstat

Напишите в поддержку Яндекс.Директа :
укажите логин,
ClientID и просьбу подключить API Wordstat.

Без одобрения сервер будет отвечать 403 Forbidden.

Шаг 5. Первый запрос — проверка

Вариант А. Минимальный и быстрый (topRequests)

POST https://api.wordstat.yandex.net/v1/topRequests
Headers:
Authorization: Bearer ВАШ_ACCESS_TOKEN
Content-Type: application/json; charset=utf-8

Body:
{
"phrase": "яндекс",
"regions": [213],
"numPhrases": 5
}

  • regions: [213] — Москва (популярные: 225 — Россия, 2 — Санкт-Петербург).
  • В ответе получите топ-фразы за 30 дней.

Вариант Б. Справочник регионов (getRegionsTree)

POST https://api.wordstat.yandex.net/v1/getRegionsTree
Headers:
Authorization: Bearer ВАШ_ACCESS_TOKEN
Content-Type: application/json; charset=utf-8

Body:
{}

Возвращает дерево регионов с ID — пригодится, чтобы выбирать нужные.

Шаг 6. Примеры полезных методов

Динамика частотности (dynamics)

POST /v1/dynamics
Headers как выше
Body:
{
"phrase": "купить велосипед",
"period": "weekly",
"fromDate": "2025-05-01",
"toDate": "2025-06-30",
"regions": [225]
}

Распределение по регионам (regions)

POST /v1/regions
Body:
{
"phrase": "электросамокат",
"regionType": "cities",
"devices": ["all"]
}

Стоимость в квоте: topRequests и dynamics — 1 единица, regions — 2. Базовая квота — ~1000 запросов/сутки на токен (плюс общие ограничения сервиса).

Шаг 7. Как сделать то же в n8n (пример)

  1. Node HTTP Request:
    Method: POST
    URL: https://api.wordstat.yandex.net/v1/topRequests
    Headers:
    Authorization: Bearer ВАШ_ACCESS_TOKEN
    Content-Type: application/json; charset=utf-8
    Body (RAW):{"phrase":"яндекс","regions":[213],"numPhrases":5}
  2. Выполните узел — получите JSON-ответ.
  3. Дальше можно парсить результат в Function/Set, писать в Google Sheets, строить отчёты и т.п.

Частые проблемы и решения

  • 403 Forbidden — доступ к API ещё не одобрен или токен не от того логина.
  • 401 Unauthorized — неверный/протухший access_token; обновите через refresh_token.
  • Долго отвечает getRegionsTree — ответ большой; тестируйте topRequests.
  • Пустой ответ — проверьте тело запроса и Content-Type, метод должен быть POST.

Полезные коды регионов

  • 225 — Россия
  • 213 — Москва
  • 2 — Санкт-Петербург

(Полный список — в ответе getRegionsTree.)

Итог

  1. регистрируем приложение и получаем токен,
  2. добиваемся разрешения от поддержки,
  3. отправляем POST-запросы на https://api.wordstat.yandex.net/v1/* с Authorization: Bearer ….

    Через это можно автоматизировать частотки, сезонность и географию запросов — без ручного сбора.