Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
Yandex Maps Scraper icon

Yandex Maps Scraper

Extract Yandex Maps business listings: name, address, GPS coordinates, category, rating, review count, phone, website and opening hours.

18 runs on Apify
Run this in the cloudRun on Apify →

Maps & Local Lead Generation

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust searchQueries, city, startUrls (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Inputs

FieldWhat it doesType
searchQueriesWhat to look for on Yandex Maps, for example "кафе", "стоматология", "coffee". One search per line. Yandex indexes Russian-language names most completely, so local-language terms return more results.array
cityCity to search in. English, Russian or local spelling all work ("Moscow", "Москва", "Almaty", "Istanbul"). You can also paste a numeric Yandex geo id such as 213. Leave empty to let Yandex pick the map view.string
startUrlsOptional. Paste Yandex Maps search pages (https://yandex.ru/maps/213/moscow/search/кафе/) or single organisation pages (https://yandex.ru/maps/org/osteria_mario/1769547913/). Works alongside the fields above.array
maxItemsHard cap on unique places returned across all searches (1-5000). Duplicates are removed before this cap is applied, so you get the number you asked for. You are charged per place returned.integer
latitudeSearch around a point instead of a whole city. Example: 55.7558string
longitudeUsed together with latitude. Example: 37.6173string
zoomYandex map zoom level for coordinate search. Higher is tighter: 11 covers a city, 15 covers a neighbourhood. Ignored unless coordinates are set.integer
languageLanguage for names, categories and addresses. Yandex Maps is a Russian product: Russian is the most complete, and some fields stay in Russian whatever you pick.string

What you get

A structured dataset — each result includes fields like:

namecategoryPrimaryaddressphonewebsiteratingreviewCountopeningHoursTextlatitudelongitudeurlplaceId

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Maps & Local Lead Generation

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

Google Maps Scraper iconMaps & Local Lead Generation

Google Maps Scraper

Scrape Google Maps business listings by category and city: name, phone, website, rating, reviews, lat/lng and place ID. Build local lead lists fast.

24 use cases

Google Reviews Monitor — Multi-Location Alerts & Reports iconMaps & Local Lead Generation

Google Reviews Monitor — Multi-Location Alerts & Reports

Track Google Maps reviews across all your locations. Get only-new deltas, negative-review and rating-drop alerts to Slack, plus AI summaries and reply drafts.

4 use cases

2GIS Places Scraper iconMaps & Local Lead Generation

2GIS Places Scraper

Scrape 2GIS places at $0.50 per 1,000: name, category, address, coordinates, phone, website, rating and reviews. Russia and CIS coverage. No API key.

Ready to run — no setup

2GIS Reviews Scraper iconMaps & Local Lead Generation

2GIS Reviews Scraper

Extract 2GIS reviews by place URL or city search: star rating, review text, author, date, photos, owner replies and aggregate rating. No 2GIS API key.

Ready to run — no setup

Yelp Scraper iconMaps & Local Lead Generation

Yelp Scraper

Scrape Yelp businesses and reviews via Yelp's official Fusion API: rating, review count, price, phone, address, GPS and review text.

Ready to run — no setup

Google Maps Reviews Scraper iconMaps & Local Lead Generation

Google Maps Reviews Scraper

Scrape Google Maps reviews at $0.27 per 1,000. Rating, full text, exact date, reviewer and review count, owner reply and photos.

Ready to run — no setup

See all Maps & Local Lead Generation →

Yandex Maps Scraper API

Pulls business listings out of Yandex Maps — the map most people actually use in Russia, Belarus, Kazakhstan, Uzbekistan, Armenia, Azerbaijan and Turkey, where Google Maps coverage is thin or out of date.

Give it a search term and a city, or paste Yandex Maps URLs. You get back one row per place with the name, full address, GPS coordinates, category, star rating, review count, phone number, website and opening hours.

$0.40 per 1,000 places. Flat on every Apify plan, including the free one — no volume tiers, no plan gates. Most Yandex Maps scrapers charge several times this.

What a row looks like

A real row from a "кафе" search in Moscow:

{
  "placeId": "1207115252",
  "name": "Osteria Gini",
  "categoryPrimary": "Ресторан",
  "categories": ["Ресторан", "кафе"],
  "address": "Москва, 1-й Колобовский переулок, 11",
  "city": "Москва",
  "street": "1-й Колобовский переулок",
  "postalCode": "127051",
  "latitude": 55.769063,
  "longitude": 37.616219,
  "phone": "+79259816427",
  "phones": ["+79259816427"],
  "website": "https://ginirest.ru/",
  "rating": 4.8,
  "ratingCount": 1112,
  "reviewCount": 553,
  "openingHoursText": "Mon: 12:00-23:00; Tue: 12:00-23:00; Wed: 12:00-23:00; ...",
  "isOpenNow": false,
  "nearestMetro": { "name": "Трубная", "distanceMeters": 543 },
  "verifiedOwner": true,
  "url": "https://yandex.com/maps/org/osteria_gini/1207115252/"
}

Every field: placeId, name, nameShort, chainName, categoryPrimary, categories, address, addressDetail, country, city, street, postalCode, latitude, longitude, phone, phones, website, websites, socialProfiles, rating, ratingCount, reviewCount, openingHoursText, openingHoursRaw, openingHours, isOpenNow, priceRange, nearestMetro, verifiedOwner, status, url, searchQuery, position, scrapedAt.

How complete is it

Measured on a real 250-place run (Moscow, "кафе", 61 seconds):

FieldFilled
name, address, coordinates, category250 / 250
rating, review count250 / 250
phone250 / 250
opening hours249 / 250
website237 / 250
postal code196 / 250

Phone coverage is unusually high because Yandex Maps is the primary business directory in these markets, so owners keep their cards current.

Input

{
  "searchQueries": ["кафе", "стоматология"],
  "city": "Moscow",
  "maxItems": 250
}
  • searchQueries — one term per line. Russian terms return more than English ones, even in Turkey.
  • city — "Moscow", "Москва", "Almaty", "Istanbul" and a numeric Yandex geo id all work.
  • startUrls — paste search pages (https://yandex.ru/maps/213/moscow/search/кафе/) or single business pages (https://yandex.ru/maps/org/osteria_mario/1769547913/).
  • latitude / longitude / zoom — search around a point instead of a whole city.
  • maxItems — hard cap. Duplicates are removed *before* this cap, so asking for 250 gives you 250 distinct businesses.
  • language — Russian, English, Turkish, Ukrainian, Kazakh, Uzbek or Azerbaijani.

Pricing

Per place returned$0.0004 ($0.40 per 1,000)
Actor start$0.001 per run

You are charged per unique place. Duplicates, sample rows, error rows, captchas and empty runs cost nothing beyond the start fee. A 250-place run costs $0.101.

That $0.0004 is the cheapest per-place rate on the market and it is flat on every Apify plan — no volume tiers, no plan gates, no minimum spend.

What this does not do

Being straight about the limits:

  • No reviews. You get the rating and the review *count*, not the review text. That is a different scraper.
  • No photos. Yandex ships image URLs in its page data; this actor does not return them.
  • No email addresses. Yandex Maps cards do not carry them. Anything claiming otherwise is guessing from the website domain.
  • Roughly 25 places per request. Large jobs page through the result list, so 1,000 places means about 50 requests and a few minutes.
  • Yandex re-ranks between pages. Consecutive pages overlap by around 25%. The actor removes duplicates for you, which is why a deep run makes more requests than maxItems / 25 would suggest.
  • Result totals are estimates. Yandex's own "about 94 matches" figure moves between requests. Treat it as a hint, not a count.
  • Some fields stay in Russian whatever language you pick — Yandex localises names and categories, but street names in Russia usually stay Cyrillic.

FAQ

Do I need a Yandex API key? No. The official Yandex Places API requires a paid key and caps results. This actor reads the public map pages instead, so there is nothing to sign up for.

How is this different from a Google Maps scraper? Different index. In Russia and most of the CIS, Yandex Maps has more businesses, more current phone numbers and far more reviews than Google Maps. In Turkey it is a strong second source. If you need Western Europe or the US, use a Google Maps scraper.

Can I scrape a single business I already have the link for? Yes. Paste the https://yandex.ru/maps/org/.../<id>/ URL into startUrls. One place, one row, one charge.

Can I search by map area instead of by city? Yes. Set latitude, longitude and zoom. Zoom 15 is about a neighbourhood, zoom 11 about a city.

How many places can I get for one search term? Yandex keeps serving deeper pages as you go; a Moscow "кафе" search comfortably passes 250. Very narrow terms in small towns run out sooner, and the actor stops when a page stops producing anything new.

Why did my run return an error row instead of places? Error rows are free. CAPTCHA means Yandex challenged that exit address — re-run and it usually lands elsewhere. NO_RESULTS means the search genuinely matched nothing; try a broader or Russian-language term. CITY_NOT_FOUND means Yandex did not recognise the city name.

Is the output ready for a CRM? Phone numbers come back normalised (+79259816427). Website links have Yandex's own tracking parameters stripped, so you get https://ginirest.ru/ rather than a URL with yclid and utm_source glued on.

What does an empty run cost? The $0.001 start fee and nothing else.

Sample output with no input

Run it with no search terms and it returns a single clearly-labelled sample row, marked _sample: true and charged: false, so you can see the shape before spending anything.