Yandex (Яндекс) Search Results Parser avatar

Yandex (Яндекс) Search Results Parser

Pricing

from $6.00 / 1,000 yandex results

Go to Apify Store
Yandex (Яндекс) Search Results Parser

Yandex (Яндекс) Search Results Parser

Parse public Yandex search results for SEO and market research. Query by keyword or URL and export titles, URLs, snippets, domains, ads, pagination, region, and language metadata.

Pricing

from $6.00 / 1,000 yandex results

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Parse public Yandex (Яндекс) search results into one flat JSON record per result. Use it for SEO research, SERP analysis, rank investigations, competitor discovery, and market research. The Actor accepts keyword queries or existing public yandex.com, yandex.ru, and yandex.com.tr search URLs, supports bounded pagination and region/language hints, and keeps the original search URL for traceability.

What this Yandex search scraper extracts

Each result row includes:

FieldMeaning
query and rankThe query that produced the row and its one-based rank on the source page.
title and urlThe visible result title and direct destination URL. Common Yandex redirect links are unwrapped.
snippet and displayedUrlVisible result summary and breadcrumb/display URL when available.
sourceDomainNormalized destination hostname for domain-level analysis.
resultType and isAdOrganic, ad, video, or other classification.
pageNumber and sourceUrlPagination position and the exact Yandex search URL used.
breadcrumbs, sitelinks, dateTextAdditional visible SERP metadata when present.

The schema is stable across rows, with nullable fields used when Yandex does not expose a value.

Example input

{
"searchQueries": ["купить ноутбук", "AI news"],
"domain": "yandex.com",
"language": "all",
"maxResults": 25,
"maxPagesPerQuery": 2
}

Or pass an existing public result URL:

{
"startUrls": [
{ "url": "https://yandex.ru/search/?text=купить+ноутбук&lr=213" }
],
"maxResults": 20
}

Output

The default dataset contains query, rank, title, direct url, displayedUrl, snippet, sourceDomain, breadcrumbs, dateText, resultType, isAd, sitelinks, pageNumber, sourceUrl, scrapedAt, and warnings.

The OUTPUT key-value record contains SUCCEEDED, PARTIAL, EMPTY, BLOCKED, or REJECTED status, counts, source URLs, and diagnostics. A blocked run is reported as a failed run with zero fabricated rows. Invalid-only input is softly rejected with an actionable summary. A valid query with no visible matches is kept distinct as EMPTY.

Pricing

This Actor uses predictable pay-per-event pricing:

EventPrice
One structured result row$0.006
Actor start$0.00005 per GB of Actor memory, minimum one event

Examples, excluding Apify platform usage:

  • 10 result rows: up to $0.0601 in event charges at the default 2 GB allocation.
  • 100 result rows: up to $0.6001 in event charges at the default 2 GB allocation.
  • A valid query with no result rows still incurs the Actor-start event.

Apify platform usage, including compute, storage operations, data transfer, and any proxy traffic, is shown separately by Apify and is passed through to the user. The Actor caps output at 100 unique rows per run so the event portion of a run remains predictable.

When to use it

Use this Actor when you need a bounded, structured snapshot of public Yandex web search results, such as checking search visibility across queries, collecting competitor result URLs, comparing Russian or Turkish SERPs, or feeding search-result rows into an analysis workflow. It is suitable for both manual runs and API/MCP-driven agent workflows.

Do not use it for private account data, Yandex Mail, Yandex Maps, Yandex Market, arbitrary website crawling, CAPTCHA solving, or guaranteed personalized rank tracking. Yandex may personalize or regionally vary results, and a CAPTCHA or rate-limit response is reported in OUTPUT rather than converted into fabricated empty data.

Access and reliability

This Actor reads public search pages only. Apify Proxy is enabled by default because direct Yandex access can return a CAPTCHA or rate-limit page. Set proxyConfiguration to { "useApifyProxy": false } only when direct access is appropriate; do not force a country/group until it has been tested for the target region. The Actor does not bypass authentication or solve CAPTCHAs.

For reliable runs, keep maxResults and maxPagesPerQuery bounded. The default is one OpenAI query, up to 20 unique rows, and up to three pages per query. Multiple queries are supported, but all queries share the run-level result cap. If one page is blocked after retries, the run exposes a BLOCKED or PARTIAL status and warning details in OUTPUT.

MCP-friendly scope

Use this Actor when an agent needs structured public Yandex web-search results for a bounded list of queries. Do not use it for private account data, Yandex Mail/Maps/Market content, CAPTCHA solving, arbitrary website crawling, or guaranteed rank tracking across personalized sessions. Output is capped by maxResults and pagination is capped by maxPagesPerQuery.

API input example

curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~yandex-search-parser/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["купить ноутбук", "AI news"],
"domain": "yandex.com",
"language": "all",
"maxResults": 25,
"maxPagesPerQuery": 2
}'

The same narrow input/output contract is suitable for Apify MCP clients that need a Yandex search tool.

Compliance note

Use this Actor only for public pages and in accordance with Yandex terms, applicable law, and your own data-use requirements. Results reflect what Yandex returns to the Actor's configured region, language, session, and proxy route at run time.

Local development

npm ci
npm test

The parser is covered by fixture-style unit tests. A live Yandex canary requires network access and should be run privately with a small result/page cap before publication.