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

Yandex SERP Scraping for B2B Lead Gen & Deal Sourcing Playbook

Extract commercial leads, executive contact footprints, and market comps from Yandex search results using serverless cloud scrapers and automated APIs.

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 commands a massive share of search traffic across Eastern Europe, Central Asia, and cross-border trade corridors. For sales development representatives, corporate development teams, and private equity investors, Yandex SERPs (Search Engine Results Pages) represent an untapped repository of proprietary B2B data. Unlike markets saturated by standard Western outreach cadences, Yandex surfaces direct vendor relationships, regional tender records, distributor directories, and local executive footprints that traditional scrapers miss.

By deploying the madeingermany/scrape-yandex actor on Apify, growth engineers can extract organic rankings, enriched snippets, and localized merchant records into structured datasets ready for direct outreach or programmatic CRM ingestion.

Zero-Cost Cloud Architecture for Deal Sourcing

Building and running a custom headless crawler to scrape Yandex is notoriously complex due to smart bot detection, dynamic verification captchas, and regional geo-restrictions.

The madeingermany/scrape-yandex actor runs entirely within Apify’s serverless cloud infrastructure. Residential proxy rotation and anti-fingerprinting measures are baked into every request automatically.

You can run your entire lead sourcing workflow without upfront capital expenditures:

  • Apify provides a $5 monthly starter credit allowance completely free to every user, renewing every single month with no credit card required to start.
  • Because automated SERP scrapes execute in milliseconds and consume minimal compute units (fractions of a cent per query), this free allowance enables you to scrape thousands of high-intent SERP results, executive leads, and domain listings every month at zero cost.

Advanced Search Dorks for B2B Sourcing

To extract commercial targets rather than consumer noise, structure your search queries using advanced search operators:

  • Executive Footprints: Target regional leadership profiles indexed on professional networks:
    site:linkedin.com/in/ ("Chief Commercial Officer" OR "Managing Director") ("Almaty" OR "Tashkent" OR "Baku")
  • Distressed Assets & Corporate Restructuring: Uncover regional insolvency filings and asset liquidations:
    filetype:pdf ("банкротство" OR "ликвидация" OR "restructuring") "торги" "имущество"
  • Direct Contact Footprints: Locate unmasked operational emails and wholesale inquiry desks:
    ("дистрибьютор" OR "оптовые поставки") "email: *" ("@gmail.com" OR "@mail.ru" OR "@yandex.ru") "отдел продаж"
  • B2B Supplier Discovery: Unearth regional contract manufacturers lacking SEO optimization:
    site:*.kz OR site:*.by ("производственная база" OR "завод") "контакты" "телефон"

Input Parameters & Execution Configuration

The actor accepts structured JSON parameters defining targets, localized search parameters, and extraction volume:

{
  "queries": [
    "site:linkedin.com/in/ \"Procurement Director\" \"Kazakhstan\"",
    "оптовые поставки металлопроката контакты отдел продаж"
  ],
  "maxPagesPerQuery": 2,
  "countryCode": "kz",
  "deviceType": "desktop"
}
  • queries (array, required): The search strings or targeted operators to evaluate.
  • maxPagesPerQuery (integer, optional): Controls crawl depth (typically 1–3 pages for lead gen, as relevant commercial contacts cluster on pages 1 and 2).
  • countryCode (string, optional): Two-letter ISO country code (e.g., ru, kz, by, tr) to return hyper-localized search results.
  • deviceType (string, optional): Emulates desktop or mobile user agents.

Output Data Schema

The actor stores extracted records in the run’s default Apify Dataset. Each record contains rich metadata ready for pipeline ingestion:

Field Data Type Description
query string The original search query executed.
position integer Rank index of the search result within the SERP.
title string Page title tag, often containing company name and executive title.
url string Direct destination URL for the indexed business resource.
displayUrl string Cleaned domain path shown in the Yandex interface.
domain string Parsed root domain (ideal for deduplication and CRM domain matching).
description string Meta description or contextual text snippet extracted around the keyword.
sitelinks array Sub-links pointing to contact pages, catalogs, or about pages.
isAd boolean Flags organic vs. paid contextual listings to filter commercial intent.

Implementation in Python

The following script connects to the Apify API, runs the Yandex Search Scraper targeting logistics procurement managers, and formats the output into a clean CSV for cold email or LinkedIn outreach campaigns.

import os
import csv
from apify_client import ApifyClient

# Initialize the client using your Apify API Token
APIFY_TOKEN = os.getenv("APIFY_TOKEN", "YOUR_APIFY_TOKEN")
client = ApifyClient(APIFY_TOKEN)

# Define B2B sourcing dorks
run_input = {
    "queries": [
        'site:linkedin.com/in/ "Procurement Director" ("Central Asia" OR "Kazakhstan")',
        'оптовые поставки удобрений "отдел продаж" email телефон'
    ],
    "maxPagesPerQuery": 1,
    "countryCode": "kz",
    "deviceType": "desktop"
}

print("Initiating Yandex SERP lead generation task...")
run = client.actor("madeingermany/scrape-yandex").call(run_input=run_input)

# Fetch results from the default dataset
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items

leads = []
for item in dataset_items:
    leads.append({
        "Keyword": item.get("query"),
        "Rank": item.get("position"),
        "Entity Name": item.get("title"),
        "Target URL": item.get("url"),
        "Domain": item.get("domain"),
        "Extracted Context": item.get("description")
    })

# Export to CSV for downstream CRM enrichment
csv_file = "yandex_commercial_leads.csv"
fieldnames = ["Keyword", "Rank", "Entity Name", "Target URL", "Domain", "Extracted Context"]

with open(csv_file, mode="w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerows(leads)

print(f"Successfully processed {len(leads)} leads. Saved to {csv_file}")

Implementation in Node.js

This Node.js script executes the actor asynchronously, collects the structured results, and performs an automated regex sweep across snippet descriptions to find raw phone numbers and email addresses.

import { ApifyClient } from 'apify-client';
import * as fs from 'fs';

const client = new ApifyClient({
    token: process.env.APIFY_TOKEN || 'YOUR_APIFY_TOKEN',
});

const input = {
    queries: [
        'дистрибьюторы промышленной химии контакты email',
        'site:linkedin.com/in/ "Head of Supply Chain" ("Tashkent" OR "Almaty")'
    ],
    maxPagesPerQuery: 2,
    countryCode: 'kz',
    deviceType: 'desktop'
};

async function extractB2BLeads() {
    console.log('Triggering madeingermany/scrape-yandex...');
    const run = await client.actor('madeingermany/scrape-yandex').call(input);
    
    const { items } = await client.dataset(run.defaultDatasetId).listItems();
    
    const emailRegex = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi;
    const phoneRegex = /(\+?\d{1,3}[-.\s]?\(?\d{2,4}\)?[-.\s]?\d{3}[-.\s]?\d{2}[-.\s]?\d{2})/g;

    const enrichedLeads = items.map(record => {
        const textToSearch = `${record.title || ''} ${record.description || ''}`;
        const emails = textToSearch.match(emailRegex) || [];
        const phones = textToSearch.match(phoneRegex) || [];

        return {
            query: record.query,
            position: record.position,
            title: record.title,
            url: record.url,
            domain: record.domain,
            extractedEmails: [...new Set(emails)],
            extractedPhones: [...new Set(phones)],
            snippet: record.description
        };
    });

    fs.writeFileSync('enriched_leads.json', JSON.stringify(enrichedLeads, null, 2));
    console.log(`Saved ${enrichedLeads.length} leads with extracted contact footprints.`);
}

extractB2BLeads().catch(console.error);

Strategic Commercial Use Cases

1. Cross-Border Distressed Deal & M&A Sourcing

Private equity analysts and turnaround specialists can run automated daily sweeps against regional insolvency registries, court filings, and debt-restructuring announcements. Setting localized queries targeting asset auctions or secondary balance-sheet sales provides a proprietary deal pipeline before opportunities reach open investment broker networks.

2. Emerging Market Distributor & Supplier Acquisition

Global enterprises expanding into Central Asia and the CIS frequently struggle to map tier-2 and tier-3 wholesalers who lack English websites or standard Google SEO footprints. Scraping localized Yandex SERPs returns raw domain inventories, warehouse locations, and direct contact details for regional suppliers who are invisible to standard Western data scrapers.

3. Executive Contact Footprint

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 →