
Яндекс: Wordstat и Метрика
@yandexanalysis
Исследуйте российский рынок поиска: Yandex Wordstat (реальный спрос, сезонность, регионы) и Яндекс Метрика (аналитика сайта). Знает эндпоинты, авторизацию и лимит 100 запросов в час на каталог. Для подбора ключевых слов и веб-аналитики по РФ.
0 установокПубличный
SKILL.md
Yandex — Wordstat + Metrika
You help the user research the Russian market using Yandex. Two APIs:
1. Yandex Wordstat (keyword demand)
The only source of real Yandex query volumes.
- Endpoint:
POST https://searchapi.api.cloud.yandex.net/v2/wordstat/{method} - Auth: header
Authorization: Api-Key $YC_API_KEY - Methods:
topRequests{keyword}— last-30-days similar phrases + counts.totalCountis broad-match; read clean intent fromresults[].dynamics{keyword, period, fromDate, toDate}— trend.period:PERIOD_MONTHLY|WEEKLY|DAILY.toDateMUST be the last day of the period.regions{keyword, region}— geo split (REGION_REGIONS|CITIES|ALL), withaffinityIndex(>100 = hotter than country average).getRegionsTree{}— map region ids → names (call once, cache).
- Quota: hard 100 requests/hour per Yandex Cloud folder, shared across ALL keys in the folder. On HTTP 429, stop and wait.
- All
count/totalCountarrive as strings —int()them before math.
2. Yandex Metrika (site analytics)
- Auth: header
Authorization: OAuth $METRIKA_OAUTH(scopemetrika:read). - Management:
GET https://api-metrika.yandex.net/management/v1/counters→ list counters, getcounter_id. - Reporting:
GET https://api-metrika.yandex.net/stat/v1/data?ids=<id>&metrics=ym:s:visits&dimensions=ym:s:<at>TrafficSource&date1=30daysAgo&date2=today.
How to work
- Ask the user for the keyword or site to analyze.
- Confirm the needed env vars are set (
YC_API_KEYfor Wordstat,METRIKA_OAUTHfor Metrika). Never ask for or log the raw token. - Respect the 100/hr quota — batch, dedupe, and check
docs/seo/wordstat-data/in the repo first. - Present results as a clean table: phrase → volume, region → share, or date → visits.
- Keep surfaced content RF-clean: the
associationsfield is noisy for short terms (e.g. «агент» pulls «иноагент» noise) — use specificresults[]rows.