Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
artwist-polyakov avatar

Yandex Search Api

  • 55 installs
  • 177 repo stars
  • Updated May 10, 2026
  • artwist-polyakov/polyakov-claude-skills

yandex-search-api is a Claude skill that parses Yandex SERPs through the Yandex Cloud Search API v2 in sync and async modes, returning ranked results per query and region.

About

This skill parses Yandex search results using the Yandex Cloud Search API v2 in both synchronous and asynchronous modes. A developer uses it to check SERP rankings for keywords in a chosen region, single queries or batches from a file. Each result returns position, title, URL, snippet, and domain, cached to disk for reuse.

  • Parses Yandex SERPs via the Yandex Cloud Search API v2 in sync and async modes
  • Returns position, title, URL, snippet, and domain per result, cached to disk
  • Supports region targeting by name or ID and batch queries from a file

Yandex Search Api by the numbers

  • 55 all-time installs (skills.sh)
  • Ranked #1,300 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

yandex-search-api capabilities & compatibility

Requires a Yandex Cloud service account; Search API v2 is billed per request with a free tier.

Capabilities
web search · seo
Use cases
web search · seo · web scraping
Platforms
macOS
Pricing
Bring your own API key
From the docs

What yandex-search-api says it does

Parse Yandex SERP via Yandex Cloud Search API v2 (sync + async).
SKILL.md
Each search result contains:
SKILL.md
npx skills add https://github.com/artwist-polyakov/polyakov-claude-skills --skill yandex-search-api

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs55
repo stars177
Last updatedMay 10, 2026
Repositoryartwist-polyakov/polyakov-claude-skills

What it does

Check Yandex SERP rankings for keywords in a specific region using the Yandex Cloud Search API.

Who is it for?

Parsing Yandex SERP rankings for keywords by region, single or batch.

When should I use this skill?

You need to parse the Yandex SERP or check keyword rankings for one or many queries in a given region.

What you get

Ranked Yandex results with position, title, URL, snippet, and domain are returned and cached per query.

By the numbers

  • sync and async search modes
  • snippet up to 300 chars per result
  • results per page 1-100

Files

SKILL.mdMarkdownGitHub ↗

yandex-search-api

Parse Yandex SERP via Yandex Cloud Search API v2 (sync + async).

Config

Для работы нужен сервисный аккаунт Яндекс.Облака. Пошаговая инструкция (6 шагов, ~10 минут): config/README.md.

Краткий чеклист: 1. ID каталога Яндекс.Облака → в config.json 2. Файл ключа сервисного аккаунта → в config/service_account_key.json 3. Проверка: bash scripts/iam_token_get.sh

macOS: может потребоваться brew install openssl — подробности в config/README.md.

Workflow

STOP! Before any search:

1. Определи регион:

  • Если пользователь указал город/регион — найди ID автоматически:
     bash scripts/search_region.sh --name "Казань"
  • Если регион не понятен из контекста — СПРОСИ и ЖДИ ответа:
     "Для какого региона искать?
     - Вся Россия (по умолчанию)
     - Москва
     - Конкретный город (какой?)"

НЕ ПРОДОЛЖАЙ пока пользователь не ответит!

  • Полученное название → search_region.sh --name "..." → получаешь ID
  • Для неоднозначных случаев (Москва город vs область) — уточни у пользователя

2. Режим поиска берётся из config.jsonsearch.mode (по умолчанию sync). Не спрашивай — используй то, что в конфиге.

3. Verify config: bash scripts/iam_token_get.sh 4. Run search с полученным region ID 5. Present results with position, title, URL, snippet

Scripts

iam_token_get.sh

Generate or validate IAM token from Service Account key.

bash scripts/iam_token_get.sh

Token is cached in cache/iam_token.json and auto-refreshed when expired.

web_search_sync.sh

Synchronous search — one query at a time, immediate results.

# Single query
bash scripts/web_search_sync.sh \
  --query "купить дымоход" \
  --region-id 213

# Batch from file
bash scripts/web_search_sync.sh \
  --file queries.txt \
  --region-id 225 \
  --results 20
ParamRequiredDefaultValues
--query, -qyes*-Search text
--file, -fyes*-File with queries (one per line)
--region-id, -rnofrom config (225)Region ID
--results, -nno10Results per page (1-100)
--page, -pno0Page number
--search-typenoSEARCH_TYPE_RUSEARCH_TYPE_RU / SEARCH_TYPE_TR / SEARCH_TYPE_COM / SEARCH_TYPE_KK / SEARCH_TYPE_BE / SEARCH_TYPE_UZ
--family-modenoFAMILY_MODE_MODERATEFAMILY_MODE_NONE / FAMILY_MODE_MODERATE / FAMILY_MODE_STRICT

\* Either --query or --file is required.

Results saved to cache/results/<hash>.json (parsed) and cache/results/<hash>.raw (XML).

web_search_async.sh

Asynchronous batch search — submit many queries, poll for results.

# Submit batch and wait
bash scripts/web_search_async.sh \
  --file queries.txt \
  --region-id 213

# Resume after timeout/interrupt
bash scripts/web_search_async.sh --resume
ParamRequiredDefaultValues
--file, -fyes-File with queries
--region-id, -rnofrom config (225)Region ID
--poll-intervalno10Poll interval (minutes)
--max-waitno120Max wait before timeout (minutes)
--resumeno-Continue polling pending ops

Async workflow: 1. Script submits all queries as async operations 2. Polls every poll_interval minutes for completion 3. Downloads and parses results as they complete 4. If max_wait exceeded: prints summary + resume command 5. On restart with --resume: continues from cache/ops/, no duplicates

NOTE for agent: Async execution can take minutes to hours. The script handles polling automatically. If it times out, re-run with --resume to continue.

regions_tree.sh

Show common region IDs.

bash scripts/regions_tree.sh

search_region.sh

Find region ID by name.

bash scripts/search_region.sh --name "Казань"

Output Format

Each search result contains:

  • position — rank in SERP
  • title — page title
  • url — page URL
  • snippet — text snippet (up to 300 chars)
  • domain — site domain

Results cached in cache/results/:

  • <hash>.raw — raw XML from API
  • <hash>.json — parsed JSON array

Popular Region IDs

RegionID
Россия225
Москва213
Москва и область1
Санкт-Петербург2
Екатеринбург54
Новосибирск65
Казань43

Run bash scripts/regions_tree.sh for full list.

Pricing

Yandex Search API v2 pricing (as of 2025):

  • Sync requests: billed per request
  • Async requests: billed per request
  • Free tier available (check current limits)
  • See: https://yandex.cloud/ru/docs/search-api/pricing

Example Session

User: Найди топ выдачи яндекса по запросу "купить сэндвич дымоход" в Москве

Claude: Уточню: Москва-город или Москва и область?

User: Москва город

Claude: [Находит ID региона]
        bash scripts/search_region.sh --name "Москва"
        → Москва = 213

        [Проверяет токен]
        bash scripts/iam_token_get.sh

        [Выполняет поиск — 1 запрос, автоматически sync]
        bash scripts/web_search_sync.sh --query "купить сэндвич дымоход" --region-id 213

        Результаты поиска (топ-10):

        1. Сэндвич-дымоходы купить в Москве — Леруа Мерлен
           https://leroymerlin.ru/...
           Широкий ассортимент сэндвич-дымоходов...

        2. Дымоходы сэндвич — купить в интернет-магазине
           https://...
           ...
User: Проверь выдачу по запросам из файла queries.txt в Казани

Claude: [Находит ID региона]
        bash scripts/search_region.sh --name "Казань"
        → Казань = 43

        [Проверяет токен]
        bash scripts/iam_token_get.sh

        [Режим sync из конфига — запускает батч по одному]
        bash scripts/web_search_sync.sh --file queries.txt --region-id 43

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.