Yandex (Яндекс) Search Results Parser
Pricing
from $6.00 / 1,000 yandex results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
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:
| Field | Meaning |
|---|---|
query and rank | The query that produced the row and its one-based rank on the source page. |
title and url | The visible result title and direct destination URL. Common Yandex redirect links are unwrapped. |
snippet and displayedUrl | Visible result summary and breadcrumb/display URL when available. |
sourceDomain | Normalized destination hostname for domain-level analysis. |
resultType and isAd | Organic, ad, video, or other classification. |
pageNumber and sourceUrl | Pagination position and the exact Yandex search URL used. |
breadcrumbs, sitelinks, dateText | Additional 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:
| Event | Price |
|---|---|
| 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 cinpm 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.