Pricing
$15.00 / 1,000 results
Яндекс Yandex | Парсер Поиска Яндекса
Яндекс Actor specifically designed for Yandex search scraping. Supports 6 domains, 19 languages, and provides clean, structured data extraction with intelligent pagination. Парсер поиска Яндекса: органика, реклама, граф знаний, изображения и видео. Для SEO, аналитики и исследований рынка.
Pricing
$15.00 / 1,000 results
Rating
5.0
(3)
Developer
Actor stats
8
Bookmarked
54
Total users
10
Monthly active users
2.7 hours
Issues response
39 minutes ago
Last modified
Categories
Share
Yandex Search Scraper – SERP API for Organic Results, Ads & Knowledge Graph
A pay-per-result Yandex SERP scraper. Get clean, structured organic results, paid ads, knowledge graph, inline images and videos across 6 Yandex domains and 19 languages.
This is the Pay-Per-Result Edition. If you prefer the Pay-Per-Event billing model instead, see ApifyYandex – Pay-Per-Event Edition.
Python quick-start example (Pay-Per-Result): github.com/johnisanerd/Apify-Yandex-Pay-Per-Result Python quick-start example (Pay-Per-Event): github.com/johnisanerd/Apify-Yandex-Search-Scraper
What this actor returns
This actor extracts five Yandex result types. Choose exactly the ones you want à la carte (see below) - organic results are on by default, the rest are opt-in.
- Organic results - the standard ranked links, present on every search: position, title, URL, displayed link, snippet, thumbnail, favicon, date, sitelinks, and rich snippet data.
- Ads - paid placements shown on commercial queries: position, title, ad URL, displayed link, ad copy, and ad sitelinks.
- Knowledge graph - the entity card Yandex shows for people, TV shows, places, companies, and other known entities: title, type, description, source, image, and attributes (cast, genre, country, people, see-also links).
- Inline images - the image strip that can appear between organic results: title, image URL, link, and thumbnail.
- Inline videos - the video carousel that can appear between organic results: title, link, source, duration, thumbnail, views, and date.
- Run metadata - on every item: search timestamp, total results found, pages processed, pagination state, sort mode, time period, and the full search parameters used.
Choose your result types (à la carte)
Toggle each result type independently: Organic results (on by default), Ads, Knowledge graph, Inline images, Inline videos. Each selected type that appears on a page is delivered as its own dataset item, tagged with an item_type field (organic, ads, knowledge_graph, inline_images, inline_videos). Because billing is per dataset item, you pay only for the result types you turn on - a default organic-only run costs exactly what it did before. The page limit applies to every selected type together. Two optional SERP-wide filters are available: sort_mode (relevance or date) and period (all, day, last_two_weeks, month).
Six dataset preview views (Overview, Organic results, Ads, Knowledge graph, Inline images, Inline videos) are available in Apify Console and via API.
Pricing
This actor uses Apify's Pay-Per-Result billing model. You're charged per dataset item produced. With organic results only (the default), 1 fetched page = 1 dataset item. If you opt into extra result types, each selected type present on a page is its own item billed at the same per-result rate - so you pay only for the types you turn on.
| Run configuration | Dataset items | Estimated cost |
|---|---|---|
max_pages: 1, organic only (default) | 1 | ~$0.025 |
max_pages: 2, organic only (default) | 2 | ~$0.05 |
max_pages: 1, organic + ads + knowledge graph (all present) | up to 3 | ~$0.075 |
The current per-result price is shown on the Apify Store listing. New users get Apify's free-trial credit, which covers several test runs before committing.
Important: because billing is per dataset item, a search that legitimately returns zero results for your selected types still pushes one summary item to ensure transparent billing. Invalid input and upstream API failures fail the run instead - they do not produce a billable item. Set
max_pagesconservatively and enable only the result types you need on first runs.
Use cases
- Russian-market SEO rank tracking: monitor where your domain ranks on
yandex.rufor target keywords across regions like Moscow (lr=213) and Saint Petersburg (lr=2). - Competitor SERP monitoring on Yandex: daily snapshots of organic + paid positions for branded and category queries.
- Localized keyword research across CIS countries: run the same query across
yandex.kz,yandex.by,yandex.uz,yandex.com.trto compare local intent and competition. - Yandex ads landscape analysis: capture every advertiser, ad copy, and displayed link on a query to build a competitive ad library.
- Knowledge graph entity extraction: pull structured entity cards (companies, people, places) returned by Yandex for branded or factual queries.
Quick start
The fastest possible run, just paste a query:
{"text":"iphone 15 review","yandex_domain":"yandex.ru"}
More examples
Default search (yandex.com / English / 2 pages):
{"text":"python tutorial"}
Russian-market query with a 3-page cap:
{"text":"machine learning","yandex_domain":"yandex.ru","lang":"ru","max_pages":3}
Region-targeted English search (lr 84 = USA):
{"text":"yandex scrapers","yandex_domain":"yandex.com","lang":"en","lr":"84","max_pages":2}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
text | string | ✅ | "python tutorial" | Search query. Supports any operator yandex.com supports (site:, -, quotes). |
include_organic_results | boolean | ❌ | true | Return organic results (item_type organic). |
include_ads | boolean | ❌ | false | Return paid ads when present (item_type ads). |
include_knowledge_graph | boolean | ❌ | false | Return the knowledge graph card when present (item_type knowledge_graph). |
include_inline_images | boolean | ❌ | false | Return the inline image strip (item_type inline_images). |
include_inline_videos | boolean | ❌ | false | Return the inline video carousel (item_type inline_videos). |
yandex_domain | string | ❌ | "yandex.com" | Regional Yandex domain (see table below). |
lang | string | ❌ | "en" | Language code, or "null" for the domain's default. Comma-separate for multi-language (e.g. "ru,en"). |
lr | string | ❌ | (domain default) | Yandex region ID. Examples: 225 Russia, 84 USA, 213 Moscow, 2 Saint Petersburg. |
max_pages | integer | ❌ | 2 | Max SERP pages to fetch. Applies to every selected result type. 0 = no cap. |
sort_mode | string | ❌ | "relevance" | Result ordering: "relevance" or "date". |
period | string | ❌ | "all" | Recency window: "all", "day", "last_two_weeks", "month". |
output_file | string | ❌ | (auto) | Optional output filename; auto-generated from query and parameters if omitted. |
Output
Each selected result type present on a page is pushed to the dataset as its own item, tagged with item_type. The Apify dataset preview offers six tabular views, Search overview, Organic results, Ads, Knowledge graph, Inline images, Inline videos, or you can export the raw JSON.
Preview (organic results view)
| Position | Title | URL | Snippet | Date |
|---|---|---|---|---|
| 1 | Machine Learning Tutorial | example.com/ml-tutorial | Learn machine learning fundamentals… | 2024-01-15 |
| 2 | Intro to ML, Coursera | coursera.org/intro-ml | A free introductory course covering… | None |
Full result structure (JSON)
{"text":"machine learning","yandex_domain":"yandex.ru","lang":"ru","lr":"225","max_pages":3,"total_results_found":150,"pages_processed":3,"search_metadata":{"yandex_domain":"yandex.ru","domain_description":"Russia","language":"ru","language_description":"Russian","location":"225","max_pages":3,"pagination_limit_reached":false},"pagination_info":{"total_pages":3,"max_pages_set":3,"pagination_stopped_by_limit":false,"results_per_page":10},"organic_results":[{"title":"Machine Learning Tutorial","link":"https://example.com/ml-tutorial","snippet":"Learn machine learning fundamentals...","position":1,"displayed_link":"example.com","thumbnail":"https://thumbnail.url","favicon":"https://favicon.url","date":"2024-01-15","rich_snippet":"Rich snippet content...","sitelinks":[]}],"ads_results":[],"knowledge_graph":[],"inline_images":[],"inline_videos":[],"results_by_page":{"1":{"organic_results":[],"ads_results":[],"knowledge_graph":[],"inline_images":[],"inline_videos":[]}}}
Supported Yandex domains
| Domain | Country / region | Default region ID (lr) | Default language |
|---|---|---|---|
yandex.com | United States | 84 | English |
yandex.ru | Russia | 225 | Russian |
yandex.by | Belarus | 149 | Belorussian |
yandex.kz | Kazakhstan | 159 | Kazakh |
yandex.uz | Uzbekistan | 236 | Uzbek |
yandex.com.tr | Turkey | 983 | Turkish |
Retired Yandex domains
Yandex consolidated its regional portals: the domains below no longer serve search results, and the actor rejects them. To target those countries, use a supported domain with the lr and lang parameters instead.
| Retired domain | Use instead |
|---|---|
ya.ru | yandex.ru |
yandex.az | yandex.com + lr=167 + lang=az |
yandex.com.ge | yandex.com + lr=169 |
yandex.com.am | yandex.com + lr=168 + lang=hy |
yandex.co.il | yandex.com + lr=181 |
yandex.md | yandex.com + lr=208 + lang=ro |
yandex.tm | yandex.com + lr=170 + lang=tk |
yandex.tj | yandex.com + lr=209 |
yandex.eu | yandex.com + lr=111 |
Supported languages
| Code | Language |
|---|---|
null | Auto / domain default (recommended) |
ru | Russian |
en | English |
be | Belorussian |
fr | French |
de | German |
id | Indonesian |
kk | Kazakh |
tt | Tatar |
tr | Turkish |
uk | Ukrainian |
uz | Uzbek |
az | Azerbaijani |
hy | Armenian |
lv | Latvian |
lt | Lithuanian |
et | Estonian |
ro | Romanian |
tk | Turkmen |
You can pass multiple languages comma-separated, e.g. "ru,en".
Why this actor
Performance & reliability: built for high-throughput scraping with automatic pagination handling.
Predictable cost: pay-per-result billing means your bill scales with max_pages, not with run time or memory.
Full SERP coverage: organic, ads, knowledge graph, inline images and inline videos in one consistent JSON shape.
Localization-first: 15 regional Yandex domains and 19 languages out of the box.
Region targeting: override the lr parameter to scrape Yandex from any specific city or oblast.
Production-ready output: clean, deterministic field names; no surprise nulls; safe for ETL pipelines.
"In Soviet Russia, Yandex website scrapes you!" 🇷🇺🇺🇸, but here it's the other way around.
FAQ
How is billing calculated?
One fetched Yandex page = one dataset item = one paid result. A run with max_pages: 3 produces up to 3 items. Even an error page is pushed as a single dataset item to keep billing transparent and predictable.
Why does my result count seem low (or high)?
Yandex returns ~10 organic results per page. If max_pages: 3 returned only 24 results, Yandex's last page was partial, that's normal. If the count seems too high, the query may be matching ads, knowledge-graph entries, and inline images/videos, all of which sit alongside organic results in the output.
Can I scrape Yandex Images, Maps or News? No, this actor covers the main Yandex web SERP only (organic + ads + knowledge graph + inline images and videos that appear inside the SERP). Yandex Images, Maps, and News are separate verticals not supported here.
Can I search in multiple languages at once?
Yes, pass lang as a comma-separated list, e.g. "ru,en". Yandex will return results from any of the listed languages.
Where do I find a lr (region) ID?
The most common ones are in the Supported Yandex domains table above. For specific cities or oblasts inside Russia, common values: 213 Moscow, 2 Saint Petersburg, 54 Yekaterinburg, 47 Nizhny Novgorod, 65 Novosibirsk. Yandex's full region taxonomy is documented online.
What happens if max_pages is higher than the available results?
Pagination stops at Yandex's last available page; you won't be billed for empty pages. The output's pagination_info.pagination_stopped_by_limit field tells you whether your max_pages cap or Yandex's natural last page ended the run.
Source code & examples
- Apify Store listing: apify.com/johnvc/yandex-scrape-yandex-search-results-at-scale---per-result
- Pay-Per-Result Python example: github.com/johnisanerd/Apify-Yandex-Pay-Per-Result
- Pay-Per-Event Python example: github.com/johnisanerd/Apify-Yandex-Search-Scraper
- Use via MCP (AI agent integration): docs.apify.com/platform/integrations/mcp
Changelog
- 0.3 (current), Added six dataset preview views (overview, organic, ads, knowledge graph, images, videos); grouped input fields into Search / Localization / Run limits sections; expanded README with use cases, FAQ, and full domain/language tables. Fully backwards compatible, no input or output schema changes.
Featured Tasks
Ready-to-run examples that show this API solving a specific problem. Each opens its own setup so you can run it on your account in one click.
- Track Yandex rankings for 1,000 keywords - per-result billing for big keyword lists with positions and snippets.
- Bulk-collect Yandex SERPs for SEO monitoring - clean SERP rows for ongoing SEO monitoring at per-result prices.
- Get Yandex SERP data in Claude via MCP - let Claude pull live Yandex SERPs through MCP (free trial available).
- Track Russian Yandex SERPs at scale - pull Russian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Russian..
- Track English Yandex SERPs at scale - pull English Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to English..
- Track Belarusian Yandex SERPs at scale - pull Belarusian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Belarusian..
- Track Ukrainian Yandex SERPs at scale - pull Ukrainian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Ukrainian..
- Track Kazakh Yandex SERPs at scale - pull Kazakh Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Kazakh..
- Track Tatar Yandex SERPs at scale - pull Tatar Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Tatar..
- Track Turkish Yandex SERPs at scale - pull Turkish Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Turkish..
- Track Uzbek Yandex SERPs at scale - pull Uzbek Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Uzbek..
- Track Azerbaijani Yandex SERPs at scale - pull Azerbaijani Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Azerbaijani..
- Track Armenian Yandex SERPs at scale - pull Armenian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Armenian..
- Track French Yandex SERPs at scale - pull French Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to French..
- Track German Yandex SERPs at scale - pull German Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to German..
- Track Indonesian Yandex SERPs at scale - pull Indonesian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Indonesian..
- Track Latvian Yandex SERPs at scale - pull Latvian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Latvian..
- Track Lithuanian Yandex SERPs at scale - pull Lithuanian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Lithuanian..
- Track Estonian Yandex SERPs at scale - pull Estonian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Estonian..
- Track Romanian Yandex SERPs at scale - pull Romanian Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Romanian..
- Track Turkmen Yandex SERPs at scale - pull Turkmen Yandex search results in bulk, pay per result: organic listings with titles, links, and snippets as JSON, language preset to Turkmen..
- Monitor Yandex Search Ads by Keyword - track paid ads on Yandex for any keyword, pay per result: each ad's position, title, link, displayed URL, and snippet as JSON.
- Get Yandex Knowledge Graph Entity Data - pull entity cards for a brand, person, or topic, pay per result: title, description, type, source, and image.
- Track Yandex Video Results by Query - collect the inline video carousel for any query, pay per result: each video's title, link, source, duration, and view count.
- Extract Yandex Inline Images by Query - collect the inline image strip for any query, pay per result: each image's title, thumbnail, and link.
- Track Recent Yandex Results from the Last Month - pull fresh organic results from the last month, pay per result, for freshness-sensitive monitoring at scale.
- Sort Yandex Results by Date at Scale - pull organic results ordered by date instead of relevance, pay per result, for news and time-series tracking.
- Export Yandex Search Results to CSV
Last Updated: 2026.06.19
