Skip to main content
Business IntelSource: YandexTested: 2026-10-18

How to Scrape Yandex Search Results: Step-by-Step Tutorial

Extract organic Yandex SERP data, rankings, and rich snippets at scale. Step-by-step tutorial with Python and Node.js using Apify cloud scrapers.

Published by Scrape Playbook Editorial Team on October 18, 2026 • Updated October 18, 2026
6 min read
Audience: both
Pre-Built Cloud Scraper$5 Free Monthly Credits100% Free to StartNo Card Needed

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.

Try Free Cloud ScraperRuns in cloud • No coding required

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:

  1. Log in to your Apify account and open the Yandex Search Scraper console page.
  2. In the Input tab, supply your search keywords under the queries configuration.
  3. (Optional) Set the localized search region code (lr) to isolate geo-specific results.
  4. Click Start to execute the job serverlessly. Apify provisions the runtime, applies anti-bot mitigation, and writes results directly to a default dataset.
  5. 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:

  1. Automated Header & Fingerprint Cycling: Emulates modern Chromium browser TLS headers, user-agent pairings, and platform flags to match natural user patterns.
  2. Localized Session Routing: When querying regionally specific indices using the lr parameter, the actor pairs requests with localized IP exit points to prevent suspicious geo-mismatches.
  3. 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
idtitlescrapedAt
rec_001Sample Data Record2026-10-18T12:00:00Z
* Sample values are verified from real test runs. Personal records may be masked or synthetic for privacy.View Live Data Schema →

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

ParameterTypeRequiredDefaultDescription & Example
startUrlsarrayOptional—

Direct search or target profile URLs

e.g. ["https://example.com"]

maxItemsnumberOptional100

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.

100% Free Starter Allowance

How Far Your $5 Free Monthly Credits Go

$0.00 to Start (No Card Needed)

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.

Monthly Free Credit

$5.00

Renewed every month for free
Estimated Free Output

~2,499

Full results for $0.00
Setup & Proxy Cost

$0.00

Cloud proxies & anti-bot included

Real Projects You Can Run Completely Free

Project GoalTarget VolumeTraditional Scraper CostYour Cost with Free Credits
Initial Test & Column Verification50 results$49/mo minimum$0.00 (100% Covered)
Targeted Local Market List500 results$99/mo subscription$0.00 (100% Covered)
Full Monthly Workflow Batch1,500+ results$199/mo + proxy fees$0.00 (100% Covered)
✓
No Monthly Lock-In: Never get billed recurring monthly fees. You only scrape when you need data.
✓
Zero Proxy Setup: Residential proxy rotation and anti-bot challenges are solved in the cloud automatically.
✓
One-Click Downloads: Instantly export clean data to Excel (.xlsx), CSV, or JSON spreadsheets.
✓
Run in Browser or via API: Test visually in your web browser or connect programmatically using Python or Node.js.

Ready to collect your first dataset?

Launch the pre-built tool now with your $5 free monthly credits. No card required.

Start Scraping for Free

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
B2B ServiceDone-For-You

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
Direct developer replySLA guarantees

Frequently Asked Questions

Can I use this scraper for free?
Yes! Every user receives $5 in free monthly cloud credits automatically. Because individual scrapes cost only tiny fractions of a cent, you can scrape thousands of records every month for $0 with no credit card required.
Do I need to maintain proxies or browser infrastructure?
No. The scraper runs serverlessly on Apify Cloud with automated residential proxy rotation and anti-bot bypass built in.
Can I schedule this scraper to run automatically?
Yes, you can schedule recurring runs directly in the Apify Console or trigger them via webhooks and REST APIs.
Ready to collect your data?

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 →