Skip to content
    ↑↓ to choose · Enter to open

    September 24, 2026 · 13 min read

    Yandex Maps Scraper: Up to 1,000 Free Results a Month (2026)

    By Crawlerbros Engineering Team

    Each record carries 15 place fields or 12 review fields, returning business listings, coordinates, ratings, and customer feedback across Russia and CIS regions. 1,000 results cost $5.00 on Apify's free plan, which includes $5.00 of monthly prepaid usage. The scraper supports 6 regional domains and 8 UI languages across search, detail, and review extraction modes. This Actor is for regional analysts, commercial researchers, and sales teams needing structured business directories from Yandex Maps. It is not for anyone needing personal owner emails or real-time traffic speeds, which these map listings do not contain.

    Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Yandex Maps Scraper on Apify and run the prefilled example.

    How reliable is Yandex Maps Scraper in production?

    Across the last 30 days of public runs on the Apify platform, Yandex Maps Scraper recorded 110 runs with the following outcomes.

    Outcome Runs Share
    Succeeded 93 84.5%
    Failed 10 9.1%
    Aborted by the user 5 4.5%
    Timed out 2 1.8%
    Total 110 100.0%

    In the last 30 days, 10.9% of runs failed or timed out, about 11 in a hundred, roughly one run in 9. For scheduled jobs, configure automatic retries for transient failures and keep input batch sizes moderate to prevent the 1.8% timeout rate from dropping data. Note that 5 runs were aborted by users, which reflects manual cancellations rather than automated run errors.

    What does it cost to run Yandex Maps Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. With 10.9% of runs failing or timing out in the last 30 days, budget for re-running a portion of those batches rather than assuming every run completes.

    The maxItems input has the direct impact on your total charge because per-result billing scales with dataset size. To test query syntax and localized fields without spending excess credits, execute your initial query with maxItems set to 5. Per-item dataset charges apply only to written records, while memory platform usage charges accrue separately from the run start fee.

    How do you run Yandex Maps Scraper from the API?

    The schema marks 1 of its 9 controls as required: mode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Yandex Maps Scraper, so the request works once your token is in place.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~yandex-maps-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"searchPlaces","searchQueries":["coffee shops Moscow"],"businessUrls":[],"proxyConfiguration":{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "searchPlaces",
      "searchQueries": [
        "coffee shops Moscow"
      ],
      "businessUrls": [],
      "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [
          "RESIDENTIAL"
        ]
      }
    }
    
    run = client.actor("crawlerbros~yandex-maps-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "searchPlaces",
      "searchQueries": [
        "coffee shops Moscow"
      ],
      "businessUrls": [],
      "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
          "RESIDENTIAL"
        ]
      }
    }
    
    const run = await client.actor('crawlerbros~yandex-maps-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.

    Which Yandex Maps Scraper inputs matter, and which can you skip?

    The mode parameter dictates whether the scraper processes searchQueries or businessUrls. Beginners should start with searchQueries set to a simple category and city combination while leaving optional filters like minRating on default settings. Advanced inputs like reviewsSortOrder only apply when getReviews mode is active.

    • mode (string): What to scrape. searchPlaces: search for businesses by keyword. getDetails: fetch full details of specific business URLs. getReviews: scrape reviews from specific business URLs. Default: "searchPlaces".
    • searchQueries (array): One or more search queries (mode=searchPlaces). Combine business type and location, e.g. 'coffee shops Moscow', 'sushi restaurant Istanbul'.
    • businessUrls (array): Yandex Maps business page URLs (mode=getDetails or getReviews). Format: https://yandex.com/maps/org/{name}/{id}/
    • yandexDomain (string): Yandex Maps regional domain to use. Default: "yandex.ru".
    • language (string): UI and results language. Default: "en".
    • maxItems (integer): Maximum number of records to return (places or reviews). Default: 20.
    • minRating (string): Filter out places below this rating. Only applies in searchPlaces mode. Default: "any".
    • reviewsSortOrder (string): How to sort reviews. Only applies in getReviews mode. Default: "by_date_desc".
    • proxyConfiguration (object): Recommended. Yandex may trigger captcha on datacenter IPs. Residential proxies give best results.

    Fixed-choice controls: mode accepts searchPlaces (Search places by keyword), getDetails (Get details for specific business URLs), getReviews (Get reviews for specific business URLs); yandexDomain accepts yandex.com (International (yandex.com)), yandex.ru (Russia (yandex.ru)), yandex.com.tr (Turkey (yandex.com.tr)), yandex.kz (Kazakhstan (yandex.kz)), yandex.uz (Uzbekistan (yandex.uz)), yandex.by (Belarus (yandex.by)); language accepts en (English), ru (Russian), tr (Turkish), de (German), fr (French), uk (Ukrainian), kk (Kazakh), uz (Uzbek); minRating accepts any (Any rating), 3 (3+ stars), 3.5 (3.5+ stars), 4 (4+ stars), 4.5 (4.5+ stars); reviewsSortOrder accepts by_date_desc (Newest first), by_rating_desc (Highest rated first), by_relevance (Most relevant).

    What does Yandex Maps Scraper return?

    Output records are grouped into place items with 15 fields or review items with 12 fields, ideal for mapping density and analyzing local feedback. They provide public business listings including coordinates and operating hours, but conspicuously omit private personal contact info or internal sales figures.

    Place record (recordType: "place")

    • recordType (e.g. place)
    • placeId (e.g. 123456789)
    • name (e.g. Шоколадница)
    • url (e.g. https://yandex.com/maps/org/shokoladnitsa/123...)
    • address (e.g. Tverskaya St, 15, Moscow, 125009)
    • city (e.g. Moscow)
    • coordinates
    • phone (e.g. +7 495 123-45-67)
    • website (e.g. https://shokoladnitsa.ru)
    • rating (e.g. 4.5)
    • reviewCount (e.g. 2341)
    • categories
    • workingHours
    • photos
    • scrapedAt (e.g. 2026-05-17T10:00:00+00:00)

    Review record (recordType: "review")

    • recordType (e.g. review)
    • placeId (e.g. 123456789)
    • placeName (e.g. Шоколадница)
    • placeUrl (e.g. https://yandex.com/maps/org/shokoladnitsa/123...)
    • reviewId (e.g. abc123)
    • author (e.g. Ivan Petrov)
    • authorUrl (e.g. https://yandex.com/profile/ivan)
    • rating (e.g. 5)
    • text (e.g. Great coffee and friendly staff. The croissan...)
    • date (e.g. 2024-01-15)
    • likes (e.g. 7)
    • scrapedAt (e.g. 2026-05-17T10:00:00+00:00)

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open Yandex Maps Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Select searchPlaces in the mode control and add a targeted query like 'coffee shops Moscow' to searchQueries.
    2. Choose the correct regional domain in yandexDomain, such as yandex.ru for Russia or yandex.com.tr for Turkey.
    3. Ensure proxyConfiguration is enabled with residential proxies to reduce CAPTCHA triggers on Yandex Maps.
    4. Set maxItems to a small test value like 5 to check structure and localized language output before running larger jobs.
    5. Run the scraper and inspect the returned recordType: 'place' dataset items to verify that address, coordinates, and phone are populated.
    6. Copy a Yandex Maps profile link from the url field and set mode to getReviews with that link placed in businessUrls.
    7. Select by_date_desc in reviewsSortOrder to confirm that the newest customer reviews are returned with valid dates.
    8. Verify the structured workingHours object to ensure the opening times match your downstream schema requirements.

    How do you apply it? Three worked playbooks

    These are Yandex Maps Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Lead generation

    Outcome: Build lists of local businesses in Russia, Turkey, Kazakhstan, and other CIS countries

    Configure: mode: "searchPlaces", searchQueries: ["coffee shops Moscow"], yandexDomain: "yandex.ru", maxItems: 100

    Working method: Execute a search for a target business category across your chosen region. Parse the dataset place records and extract contact details like phone, website, and physical address. Compare lead volume across different regional domains to target your outreach.

    Deliverable: A dataset of business contact records including phone numbers, websites, and physical addresses.

    Stop condition: The dataset returns zero records for a high-density target city.

    Use case 2: Market research

    Outcome: Find competitors, analyze ratings, and map business density

    Configure: mode: "searchPlaces", searchQueries: ["sushi restaurant Istanbul"], minRating: "4", yandexDomain: "yandex.com.tr", maxItems: 100

    Working method: Set minRating to filter out low-rated businesses in your target location. Map the resulting coordinates and reviewCount fields to visualize competitive density. Compare categories and star ratings across distinct neighborhoods to pinpoint market gaps.

    Deliverable: A structured map dataset containing competitor locations, coordinates, star ratings, and review counts.

    Stop condition: The run times out or fails to fetch results due to overly narrow rating filters.

    Use case 3: Price monitoring

    Outcome: Track businesses in Yandex Market categories

    Configure: mode: "getDetails", businessUrls: ["https://yandex.com/maps/org/shokoladnitsa/123456789/"], yandexDomain: "yandex.ru"

    Working method: Gather target business URLs from Yandex Market listings and feed them into businessUrls. Run in getDetails mode to pull full place metadata including working hours and photos. Monitor periodic dataset updates to track operational changes across target locations.

    Deliverable: A detailed JSON dataset containing full place metadata, working hours, and photo links for target business URLs.

    Stop condition: The businessUrls return 404 responses or invalid place page structures.

    What breaks, and how do you design around it?

    • Over the last 30 days, 9.1% of public runs failed and 1.8% timed out. Build retries and alerting around those rates rather than assuming every run completes.

    When you encounter the maximum limit of 500 records per run, divide your target territory into narrower geographic search queries like specific city districts. If CAPTCHA challenges block your requests, switch your proxyConfiguration to use residential proxies as recommended by the schema.

    When should you not use Yandex Maps Scraper?

    Do not use this Actor if your target geographic coverage is outside Russia, Turkey, or the CIS region where Yandex Maps operates. If you need global business leads enriched with email addresses extracted directly from company sites, use Google Maps Leads Scraper. For coordinate-radius radius scans rather than text keyword queries, Google Maps Nearby Places offers a lighter option. If you are specifically targeting local directories in the United Arab Emirates, Yello UAE Scraper - UAE Business Directory provides superior directory listings. For Russian business directories that require high-density mapping beyond Yandex Maps, 2GIS Places Scraper is the dedicated alternative.

    What should you check before trusting the output?

    • Verify that the coordinates object contains non-null lat and lng values for every place record.
    • Confirm that the recordType field correctly matches 'place' or 'review' depending on the active mode.
    • Alert if more than 20 in a hundred records return a missing phone field for commercial business queries.
    • Stop the scheduled run if the yandexDomain selected does not match the geographic scope of your searchQueries.
    • Check that reviewCount is non-zero before passing a business URL into getReviews mode.

    None of this proves a record is correct. It gives a scheduled Yandex Maps Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    How much does it cost to scrape 1,000 results?

    1,000 results cost $5.00 on Apify's free plan, which includes $5.00 of monthly usage with no credit card. Result charges are $0.005 per item, and Apify also bills platform usage per run.

    What is the historical run success rate for this Actor?

    In the last 30 days, 93 of 110 runs succeeded, which is an 84.5% success rate. 10 runs failed and 2 timed out, meaning 10.9% of runs failed or timed out.

    Which Yandex regional domains are supported?

    The scraper supports 6 regional domains: yandex.com for international, yandex.ru for Russia, yandex.com.tr for Turkey, yandex.kz for Kazakhstan, yandex.uz for Uzbekistan, and yandex.by for Belarus.

    Can I scrape reviews separately from business profiles?

    Yes. Set mode to getReviews and provide target Yandex Maps URLs in businessUrls. You can extract author names, star ratings, dates, review text, and likes.

    Are geographic coordinates included in place listings?

    Yes. Place records return latitude and longitude coordinates in the coordinates field, alongside address, city, phone number, website, rating, and working hours.

    Where to go next

    When you are ready to run it, open Yandex Maps Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the Yandex Maps Scraper Actor page for the current input schema, pricing tier, and run history.

    Readers running Yandex Maps Scraper commonly pair it with:

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-24.

    • Actor last updated by its maintainers on 2026-05-26.

    • Run outcome figures cover the 30 day public window ending 2026-09-24.

    • Yandex Maps Scraper on Apify

    Featured actors

    Yandex Maps Scraper

    Scrape business listings, reviews, and place details from Yandex Maps. Extract name, address, phone, website, rating, reviews, working hours, photos and coordinates. Supports 6 regional domains

    Run on Apify ↗