Yandex Search Scraper - Organic SERP & Market Insights
Want to collect data from Yandex? Run this pre-built scraper directly in your browser. Extracts verified records into Excel, CSV, or JSON with automatic proxy rotation and anti-bot bypass.
Yandex is one of the most significant non-Google search engines globally, capturing dominant search market share across Eastern Europe, Central Asia, and key multilingual regions. For enterprise market researchers, SEO analysts, and e-commerce strategists, extracting organic Search Engine Results Pages (SERP) from Yandex provides unique business intelligence that Google-centric pipelines completely overlook.
In this tutorial, you will learn how to harvest structured SERP data from Yandex using the Yandex Search Scraper (madeingermany/scrape-yandex). We cover complete configuration parameters, programmatic execution using Python and Node.js, data schemas, and best practices for localized rank tracking.
You do not need to invest in dedicated servers or third-party proxy subscriptions to get started. Apify provides a complimentary $5 monthly starter credit allowance with no credit card required. Because single query lookups cost only tiny fractions of a cent, this credit pool enables you to extract thousands of search results every month completely free.
Technical Overview & Parameter Configuration
The madeingermany/scrape-yandex actor takes localized search queries, controls regional geolocations, and extracts clean, normalized JSON containing organic listings, paid positions, snippets, and sitelinks.
Core Input Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
queries |
Array of strings | Yes | List of search terms or keywords to query against Yandex. |
maxPagesPerQuery |
Integer | No | Maximum number of pagination pages to crawl per search term (defaults to 1). |
lr (Region ID) |
Integer | No | Yandex localized region identifier (e.g., 213 for Moscow, 2 for Saint Petersburg). |
proxyConfiguration |
Object | No | Apify proxy group selection. Defaults to automatic smart proxy routing. |
Step-by-Step Cloud Execution
Running the scraper directly in the Apify Cloud Console lets you test and validate parameters within seconds:
- Log in to your Apify account and open the Yandex Search Scraper console page.
- In the Input tab, supply your search keywords under the queries configuration.
- (Optional) Set the localized search region code (
lr) to isolate geo-specific results. - Click Start to execute the job serverlessly. Apify provisions the runtime, applies anti-bot mitigation, and writes results directly to a default dataset.
- Export your finished data in JSON, CSV, Excel, or NDJSON formats via the Export button.
Programmatic Implementation with Python
Using the official apify-client library in Python allows you to trigger runs, monitor status, and stream back structured items directly into a Pandas DataFrame or internal data lake.
import os
from apify_client import ApifyClient
# Initialize the client with your Apify API Token
# Available under Settings -> Integrations in the Apify Console
client = ApifyClient(os.getenv("APIFY_TOKEN", "YOUR_APIFY_TOKEN"))
# Define input parameters
actor_input = {
"queries": [
"enterprise cloud storage solutions",
"b2b logistics software"
],
"maxPagesPerQuery": 2,
"lr": 213, # Regional localization code
"proxyConfiguration": {
"useApifyProxy": True
}
}
# Run the actor and wait for it to complete
print("Submitting scrape job to Apify Cloud...")
run = client.actor("madeingermany/scrape-yandex").call(run_input=actor_input)
# Fetch scraped results from the dataset
dataset_id = run["defaultDatasetId"]
print(f"Job completed successfully. Fetching dataset: {dataset_id}")
items = client.dataset(dataset_id).list_items().items
# Iterate and display extracted search results
for item in items:
print(f"[{item.get('position')}] {item.get('title')}")
print(f" URL: {item.get('url')}")
print(f" Snippet: {item.get('snippet')}\n")
Programmatic Implementation with Node.js
Node.js developers can integrate the scraper into event-driven backends, microservices, or scheduled queues using the JavaScript client.
import { ApifyClient } from 'apify-client';
// Initialize the ApifyClient with API token
const client = new ApifyClient({
token: process.env.APIFY_TOKEN || 'YOUR_APIFY_TOKEN',
});
// Prepare the actor input payload
const input = {
queries: [
'industrial automation robotics',
'commercial fleet management'
],
maxPagesPerQuery: 1,
proxyConfiguration: {
useApifyProxy: true,
},
};
(async () => {
try {
console.log('Initiating Yandex SERP extraction...');
const run = await client.actor('madeingermany/scrape-yandex').call(input);
console.log(`Execution finished. Loading dataset: ${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Retrieved ${items.length} total SERP records.`);
items.slice(0, 5).forEach((record) => {
console.log(`Rank #${record.position}: ${record.title} (${record.url})`);
});
} catch (error) {
console.error('Extraction failed:', error);
}
})();
Output Data Schema
Each output record represents a single search result on the target Yandex SERP. Below is the standard schema provided by the actor:
| Field | Type | Description |
|---|---|---|
query |
String | The input search term that produced this listing. |
position |
Integer | The organic rank position on the page (1-indexed). |
title |
String | The clickable page title indexed by Yandex. |
url |
String | The direct destination target link. |
domain |
String | Root domain hosting the ranked result. |
snippet |
String | Text preview or descriptive snippet under the title. |
sitelinks |
Array | Extended nested navigation links if returned in rich cards. |
isAd |
Boolean | Flags whether the entry is an organic result (false) or direct ad placement (true). |
scrapedAt |
String | ISO 8601 timestamp representing extraction time. |
Bypassing SmartCaptcha and Regional Anti-Bot Defenses
Yandex utilizes a proprietary anti-bot system powered by SmartCaptcha, aggressive TLS fingerprinting, and strict behavioral rate limiting. When issuing multiple concurrent requests from non-residential IP ranges, traditional HTTP scrapers are quickly redirected to verification loops.
The madeingermany/scrape-yandex actor circumvents these blockers through several built-in mechanisms:
- Automated Header & Fingerprint Cycling: Emulates modern Chromium browser TLS headers, user-agent pairings, and platform flags to match natural user patterns.
- Localized Session Routing: When querying regionally specific indices using the
lrparameter, the actor pairs requests with localized IP exit points to prevent suspicious geo-mismatches. - Session Persistence: Organic search pagination is routed through consistent residential proxy sessions, avoiding session-reset flags mid-query.
Strategic Business Intelligence Use Cases
- Cross-Border Market Intelligence: Brands expanding into Eastern European or CIS territories use Yandex extraction to assess domestic competition, identify top-performing aggregators, and map out market leaders.
- Multilingual SEO Auditing: Track exact rankings across regional data centers without manually configuring multi-hop VPNs or local browser instances.
- Brand Protection & Counterfeit Detection: Query high-value trademarks alongside local commerce terms to detect gray-market sellers, unlicensed distributors, and phishing sites indexing on regional domains.
- Competitive Ad Monitoring: Analyze the ratio of paid ads (
isAd: true) to organic positions to understand how aggressively competitors bid on your category keywords.
Operationalizing Extracted Datasets
Once data lands in Apify’s persistent storage, you can streamline exports into production pipelines:
- Webhooks: Trigger automatic callbacks to your API endpoints as soon as a scraper run completes.
- Cloud Storage Sync: Stream dataset items into Amazon S3, Google Cloud Storage, or BigQuery for historical trend visualization in Looker or Tableau.
- Cron Scheduling: Schedule daily or weekly runs directly within the Apify Console under the Schedules tab to track rank fluctuations over time automatically.
Expected Output Schema & Sample Records
Below is an authentic sample of data returned by the scraper. Records are formatted into clean JSON or exportable CSV spreadsheets.
Authentic Sample Output Data
Yandex| id | title | scrapedAt |
|---|---|---|
| rec_001 | Sample Data Record | 2026-10-18T12:00:00Z |
[
{
"id": "rec_001",
"title": "Sample Data Record",
"scrapedAt": "2026-10-18T12:00:00Z"
}
]Required Inputs & Configuration Parameters
Configure only the fields supported by the verified scraper. You can test extractions directly in your browser or run them programmatically via Python, Node.js, or REST API.
Supported Input Parameters
| Parameter | Type | Required | Default | Description & Example |
|---|---|---|---|---|
| startUrls | array | Optional | — | Direct search or target profile URLs e.g. ["https://example.com"] |
| maxItems | number | Optional | 100 | Maximum records to extract |
Start Scraping for Free with $5 Monthly Cloud Credits
You don't need a credit card or a paid subscription to extract your data. Every user gets $5 in complimentary cloud credits every month—enough to scrape thousands of verified records without spending a penny.
How Far Your $5 Free Monthly Credits Go
Every user receives $5.00 in free cloud credits every month. Because this cloud scraper charges only fractions of a cent per result instead of an expensive monthly software subscription, your free $5 allowance lets you extract thousands of fresh results completely free.
$5.00
Renewed every month for free~2,499
Full results for $0.00$0.00
Cloud proxies & anti-bot includedReal Projects You Can Run Completely Free
| Project Goal | Target Volume | Traditional Scraper Cost | Your Cost with Free Credits |
|---|---|---|---|
| Initial Test & Column Verification | 50 results | $49/mo minimum | $0.00 (100% Covered) |
| Targeted Local Market List | 500 results | $99/mo subscription | $0.00 (100% Covered) |
| Full Monthly Workflow Batch | 1,500+ results | $199/mo + proxy fees | $0.00 (100% Covered) |
Ready to collect your first dataset?
Launch the pre-built tool now with your $5 free monthly credits. No card required.
Prerequisites
- ✓Free Apify account with $5 complimentary monthly cloud starter credits
- ✓Target URLs, search terms, or geographic boundary parameters
- ✓Python 3.10+ or Node.js 18+ for programmatic API execution
Observed Limitations
- •Extracts public data only; private accounts or walled content are not supported
- •Rate limits and residential proxy rotation are handled automatically by the cloud actor
Looking for custom scraping or scraped data?
Need a custom scraper built for your workflow on Yandex, or want to order ready-to-use extracted datasets?
- Bespoke scraper development & pipelines
- Custom one-off or scheduled data deliveries
- Anti-bot bypass & maintenance guaranteed
Frequently Asked Questions
Can I use this scraper for free?
Do I need to maintain proxies or browser infrastructure?
Can I schedule this scraper to run automatically?
Extract Live Data with Yandex Search Scraper - Organic SERP & Market Insights
Extract structured data from Yandex directly into Excel, CSV, or JSON in minutes. Runs automatically in the cloud with built-in anti-bot bypass and residential proxy rotation. No coding or browser setup required.
100% free to test • $5 free monthly credits included • No credit card required to start
Related Scraping Playbooks
View all guides →Automate Yandex SERP Pipelines: Webhooks, Postgres & CRM Sync
Build automated Yandex SERP pipelines with Apify webhooks. Stream organic search data and competitive market insights into PostgreSQL, Airtable, and CRMs.
Building an Automated B2B Agency Sourcing Pipeline with Clutch Data
Partner Discovery: Querying specialized dev shops and digital agencies by client review verification. Practical technical guide with step-by-step extraction workflows, verified schemas, and SDK blueprints.
Building an Automated Cheap Flight Alert Pipeline with Skyscanner
Alert Bot Creation: Running daily flight search sweeps for fare glitches and seasonal discounts. Practical technical guide with step-by-step extraction workflows, verified schemas, and SDK blueprints.