AgentStack
SKILL verified MIT Self-run

Yandex Search Api

skill-artwist-polyakov-polyakov-claude-skills-yandex-search-api · by artwist-polyakov

|

No reviews yet
0 installs
9 views
0.0% view→install

Install

$ agentstack add skill-artwist-polyakov-polyakov-claude-skills-yandex-search-api

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Yandex Search Api? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

yandex-search-api

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

Config

Для работы нужен сервисный аккаунт Яндекс.Облака. Пошаговая инструкция (6 шагов, ~10 минут): [config/README.md](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 bash scripts/search_region.sh --name "Казань" ``

  • Если регион не понятен из контекста — СПРОСИ и ЖДИ ответа:

``` "Для какого региона искать?

  • Вся Россия (по умолчанию)
  • Москва
  • Конкретный город (какой?)"

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

  • Полученное название → search_region.sh --name "..." → получаешь ID
  • Для неоднозначных случаев (Москва город vs область) — уточни у пользователя
  1. Режим поиска берётся из config.jsonsearch.mode (по умолчанию sync).

Не спрашивай — используй то, что в конфиге.

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

Scripts

iamtokenget.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.

websearchsync.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

| Param | Required | Default | Values | |-------|----------|---------|--------| | --query, -q | yes | - | Search text | | --file, -f | yes | - | File with queries (one per line) | | --region-id, -r | no | from config (225) | Region ID | | --results, -n | no | 10 | Results per page (1-100) | | --page, -p | no | 0 | Page number | | --search-type | no | SEARCHTYPERU | SEARCHTYPERU / SEARCHTYPETR / SEARCHTYPECOM / SEARCHTYPEKK / SEARCHTYPEBE / SEARCHTYPEUZ | | --family-mode | no | FAMILYMODEMODERATE | FAMILYMODENONE / FAMILYMODEMODERATE / FAMILYMODESTRICT |

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

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

websearchasync.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

| Param | Required | Default | Values | |-------|----------|---------|--------| | --file, -f | yes | - | File with queries | | --region-id, -r | no | from config (225) | Region ID | | --poll-interval | no | 10 | Poll interval (minutes) | | --max-wait | no | 120 | Max wait before timeout (minutes) | | --resume | no | - | 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/:

  • .raw — raw XML from API
  • .json — parsed JSON array

Popular Region IDs

| Region | ID | |--------|-----| | Россия | 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

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.