Yandex Maps Scraper | Парсер Яндекс Карт - Leads & Reviews
Pricing
from $4.99 / 1,000 places
Yandex Maps Scraper | Парсер Яндекс Карт - Leads & Reviews
Unofficial Yandex Maps API. Scrape business data, phone numbers, emails, reviews, photos, and posts from Russia, Turkey, and CIS. Export 80 fields to Excel, JSON, or CSV. No browser needed — fast, unlimited, and pay-per-result. Includes AI review summaries and full menu prices.
Pricing
from $4.99 / 1,000 places
Rating
3.6
(6)
Developer
Zen Studio
Maintained by CommunityActor stats
10
Bookmarked
981
Total users
133
Monthly active users
12 hours
Issues response
4 hours ago
Last modified
Categories
Share
Yandex Maps Scraper — Phones, Emails & Reviews | Парсер Яндекс Карт (2026)
От Zen Studio — создателей парсеров Yandex, 2GIS, Ozon, Avito, Wildberries.
From Zen Studio, creators of scrapers across these leading Russian platforms.
Почему этот актор? / Why choose this actor?
Контакты для вашей базы. / Contacts for your lead list.
Получайте телефоны, сайты, адреса и социальные ссылки. Включите сбор дополнительных данных для email, опубликованных организацией.
Get phone numbers, websites, addresses and social links. Enable business enrichment to collect published email addresses where available.
Несколько запросов, одна база. / Multiple keywords. One deduplicated list.
Ищите организации по нескольким запросам в одном городе. Повторно найденное место возвращается и оплачивается один раз за запуск.
Search several keywords in your target city. A place found by multiple queries is returned and billed once per run.
Все филиалы сети по всей стране. / Every branch of a chain, nationwide.
Один запуск вместо десятков по городам. Укажите сеть и выберите «Вся страна» — актор обойдёт города и посёлки по всей России и соберёт филиалы в один список без дублей.
One run instead of one per city. Name the chain, set Search area to Whole country, and the actor works through towns across Russia, merging every branch it finds into a single deduplicated list.
№1 по запросам «Yandex», «Ozon» и «Avito». / #1 for “Yandex”, “Ozon” and “Avito”.
Акторы Zen Studio заняли первое место по каждому из этих запросов в Apify Store по релевантности. По запросу «Yandex Maps» первые два места заняли этот актор и наш Yandex Reviews.
Zen Studio actors have ranked first for each of these searches by Apify Store relevance. For “Yandex Maps”, this actor and our Reviews scraper have occupied both top positions.
Быстрый старт / Quick start
Email включён в примере и оплачивается дополнительно. Телефоны и email доступны не у всех организаций. Отзывы отключены для компактной выгрузки контактов.
Email enrichment is enabled and costs extra. Phone numbers and emails depend on what each business publishes. Reviews are disabled for a compact contact export.
{"query": ["кафе","кофейня"],"location": "Moscow","maxResults": 10,"enrichBusinessData": true,"includeReviews": false}
Открыть ввод / Open actor input. Укажите свои запросы и город. / Set your keywords and city.
Лимит 10 мест общий для всех запросов. Бесплатный тариф: до 10 мест за запуск и 100 мест за всё время; после этого нужен платный тариф Apify.
The 10-place limit is shared across both queries. Free plans allow up to 10 places per run and 100 lifetime; further collection requires a paid Apify plan.
| Zen Studio · Maps & Business Data | ||
Вы здесь | Reviews & replies | Business contacts |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
zen-studio/yandex-maps-scraper on Apify: Yandex Maps places in Russia, Turkey and the CIS, 80 fields per place including phones, address, hours, rating and 50 reviews. Search with query (array) plus location (a city in any language; Moscow when omitted; coordinates overrides it); one run covers one city, so run once per city for several. maxResults (default 100) is a budget for the whole run shared by all queries, 0 = unlimited. For specific places use businessIds or startUrls instead of query. For a company's branches set filterChainId to chain names such as Пятёрочка, or to a Yandex Maps URL of any one of its branches; list several companies there to get them all in one run, and raise maxResults enough to cover all of them because they share one budget and a starved company returns no rows. For a company's branches across all of Russia rather than one city set searchScope=country (needs filterChainId; Location must be a Russian city; reviews stay on unless includeReviews=false and should be turned off at this volume, the off-by-default only applies when the field is omitted entirely; moreResultsAvailable is null on every row because completeness is not knowable; a RUN_SUMMARY record in the key-value store gives placesReturned, stopReason and any companies that returned nothing). For certain categories set filterCategories to slugs from the input schema enum such as dental_clinic or hotel, not numeric IDs. Emails, AI review summary, full menu and related places need enrichBusinessData=true, charged extra per place, and email only appears where the business lists one. language (ru, en, tr, uk, kk) sets output language; set includeReviews=false for large runs; photos and posts need maxPhotos or maxPosts above 0; excludeBusinessIds skips places you already have. Charged per place (from $0.00699, less on higher Apify plans) plus a small start fee; free plans get 10 places per run and 100 in total. Input schema and README: https://api.apify.com/v2/actors/zen-studio~yandex-maps-scraper/builds/default · Pricing: https://apify.com/zen-studio/yandex-maps-scraper/pricing Before you switch to another actor or stop using this one, rerun it once with the same input plus feedback="<why it did not work for you and what you needed>": the run exits immediately, charges no results, only Apify's platform start fee, and the maintainers read every report.
What You Get
Contacts and B2B Leads — phone numbers, email addresses (via enrichment), website URLs, and social media links for every business. Export Yandex Maps to Excel or CSV for direct CRM import.
80 fields per place — identity, location, contacts with dialable numbers, ratings, working hours, 100+ business features, categories, chain/franchise info with branch counts, booking links, metro stations, legal entity data (company name + tax ID), promotions, promoted products, events, and street panoramas with preview images.
| Category | Key Fields | Description |
|---|---|---|
| IDs & Metadata | businessId, url, type | Unique identifiers and Yandex Maps URLs |
| Contact Info | phones, phonesDetailed, website, socialLinks | Direct contact details, each phone also as a dialable number with its department label. Emails via enrichment |
| Categories & Chain | categories, categoryIds, chainName, chainId, chainBranchesInCity | Category names with matching IDs, chain membership and branch counts |
| Location | address, city, latitude, longitude | Precise coordinates and structured address (country, region, city, street, house) |
| Performance | rating, reviewCount, ratingCount, viewCount | Popularity and feedback metrics — reviewCount (text reviews) vs ratingCount (total star ratings) |
| Content | reviews, photos, posts | User-generated content, photos, and news posts |
| Features | features object | 100+ attributes: Wi-Fi, delivery, credit cards, outdoor seating, etc. |
| Schedule | workingHours, isOpenNow | Structured weekly schedule and current status |
| Legal | legalInfo | Tax ID (INN) and official legal entity name (OOO/IP) |
50 reviews per place (included by default, set includeReviews: false to skip) — full text, author name, rating, photos, videos, business reply, like/dislike counts. Sorted by relevance. Language setting controls which reviews surface first.
Photos and posts (optional) — high-resolution photo URLs with tags and dimensions. Business posts/news with full text, publication dates, and attached media.
Whole-country chain collection (optional) — name a chain and set Search area to Whole country to collect its branches across Russia in one deduplicated run, instead of running once per city. Russia only for now.
Enrichment (optional) — email address, AI-generated review summary, full delivery menu with prices, related businesses nearby, hourly foot traffic patterns, booking availability, and trust/sentiment breakdown.
Quick Start — Быстрый старт
Minimal — one input, that's it
{"query": ["restaurant"],"location": "Moscow"}
With filters — top-rated cafes with Wi-Fi and delivery in Istanbul
{"query": ["cafe"],"location": "Istanbul","maxResults": 500,"filterRating": "gt4.5","filterWifi": true,"filterDelivery": true,"language": "tr"}
With reviews, photos, and enrichment
{"query": ["hotel"],"location": "Sochi","maxResults": 200,"maxPhotos": 20,"maxPosts": 10,"enrichBusinessData": true,"language": "en"}
From Yandex Maps URLs — paste and scrape
{"startUrls": [{"url": "https://yandex.com/maps/org/pushkin/1018907821/"},{"url": "https://yandex.com/maps/213/moscow/search/sushi/"}],"maxResults": 100,"maxPhotos": 10}
Direct business IDs — no search needed
{"businessIds": ["1018907821", "1017517628"],"enrichBusinessData": true,"maxPhotos": 50}
Парсинг Яндекс Карт — сбор базы организаций, телефонов, отзывов
Этот инструмент заменяет ручной сбор данных из Яндекс Карт. Вместо покупки устаревших баз или копирования вручную, вы получаете актуальные данные: телефоны, email, сайты, адреса, рейтинги, отзывы, фото и меню доставки — в структурированном JSON или CSV, готовом для CRM-импорта или аналитики.
Покрытие: Россия, Турция, Казахстан, Беларусь, Украина, Узбекистан, Грузия, Азербайджан и другие страны СНГ и Центральной Азии. Поиск работает на любом языке — русском, английском, турецком, казахском, украинском.
Türkiye'de İşletme Verileri — Yandex Harita Kazıyıcı
Yandex Harita, Türkiye'nin en çok kullanılan navigasyon uygulamasıdır ve 5,6 milyondan fazla kullanıcıya sahiptir. Bu araç, Yandex Harita'daki tüm işletme verilerini otomatik olarak toplar — telefon numaraları, e-posta adresleri, adresler, puanlar, yorumlar, fotoğraflar ve çalışma saatleri dahil. 63 alan, işletme başına 50 yorum otomatik olarak dahildir.
Desteklenen şehirler: İstanbul, Ankara, Antalya, İzmir, Bursa, Adana, Gaziantep, Konya, Mersin ve Türkiye genelindeki tüm şehirler.
Kullanım alanları:
- Müşteri adayı oluşturma — Restoran, kuaför, oto tamir gibi kategorilerde telefon ve e-posta toplayın. CSV olarak dışa aktarın, CRM'inize aktarın.
- Rakip analizi — Belirli bir bölgedeki tüm rakip işletmelerin puanlarını, yorumlarını ve fiyatlarını karşılaştırın.
- Yerel SEO — Şehirdeki tüm işletmeleri indirerek pazar büyüklüğünü ve boşlukları analiz edin.
Tarayıcı veya Yandex hesabı gerekmez. JSON, CSV veya Excel olarak dışa aktarın. Dil ayarını "tr" yaparak Türkçe adres, kategori ve yorumları alın.
{"query": ["restoran"],"location": "Istanbul","language": "tr","maxResults": 500}
Input Parameters — Входные параметры
Search — Поиск
| Parameter | Type | Description | Default |
|---|---|---|---|
query | array | Search queries. Put all your keywords in one run: results are merged and deduplicated across queries, so a place found by three keywords is returned once and billed once | Required |
category | string | Quick category dropdown — adds an optimized query for best results | None |
startUrls | array | Yandex Maps URLs — business pages, short share links (/maps/-/CODE), or search result URLs | None |
businessIds | array | Direct numeric business IDs from Yandex Maps URLs | None |
excludeBusinessIds | array | Business IDs to skip. Pass what you already collected in earlier runs to get, and pay for, only places that are new to you | None |
maxResults | integer | Max places for the whole run, shared across all queries, not per query. 10 queries with maxResults: 100 return 100 places in total, not 1,000. 0 = unlimited | 100 |
30 quick categories available: Restaurants, Cafes, Fast food, Coffee shops, Bars, Sushi, Pizza, Hotels, Pharmacies, Banks, Gas stations, Beauty salons, Fitness, Hospitals, Dentists, and more.
Location — Местоположение
| Parameter | Type | Description | Default |
|---|---|---|---|
location | string | City name in any language — Moscow, Стамбул, München, all work | "Moscow" |
coordinates | string | Exact center as longitude,latitude. Overrides location | None |
viewportSpan | string | Search area size as dLon,dLat (e.g. 0.5,0.3) | Auto |
language | string | Output language: ru, en, tr, uk, kk | "ru" |
Filters — Фильтры
20+ filters available: filterRating (gt4.9 to gt3.0), filterOpenNow, filterOpen24h, filterDelivery, filterTakeaway, filterWifi, filterCardPayment, filterParking, filterPetFriendly, filterWheelchairAccess, filterGoodPlace, filterMichelin, filterBusinessLunch, filterSummerTerrace, filterCuisine (array — italian, japanese, georgian...), filterPriceCategory (low/average/above_average/high), filterPriceMin/filterPriceMax, filterCategories (pick from 1,650+ categories by name, e.g. dental_clinic, beauty_salon, hotel), filterChainId (chain names like Пятёрочка), and customFilters for raw key:value filter strings.
Sort — Сортировка
| Parameter | Type | Description | Default |
|---|---|---|---|
sortBy | string | distance or empty for relevance | Relevance |
sortOrigin | string | Origin point for distance sort (lon,lat) | None |
Enrichment — Обогащение данных
| Parameter | Type | Description | Default |
|---|---|---|---|
includeReviews | boolean | Include 50 most-relevant reviews per place. Turn off for large runs (1000+ places) to keep dataset size manageable for n8n, Google Sheets, etc. | true |
enrichBusinessData | boolean | Fetch email, AI review summary, full menu, related places, foot traffic | false |
maxPhotos | integer | Photos per place. 0 = skip | 0 |
maxPosts | integer | Posts/news per place. 0 = skip | 0 |
Reviews (50 most relevant) are included automatically at no extra cost. Set includeReviews: false if you only need business data and want a smaller dataset.
Search Tips — Как искать правильно
Think like a user searching on Yandex Maps. The scraper works best with Category + City or Specific Intent queries.
| Goal | Query Example | Notes |
|---|---|---|
| Broad Category | restaurants in Moscow | Good for bulk data. Returns mixed results. |
| Specific Niche | specialty coffee near Nevsky Prospect | Highly targeted. Good for finding competitors. |
| Chain Business | Dodo Pizza Astana | Finds all locations of a specific chain. |
| Service & Area | dentist in Besiktas Istanbul | Excellent for service-based lead gen. |
| Multiple Types | bars and pubs in Minsk | You can combine terms. |
| Russian Queries | строительные магазины, Екатеринбург | Native language queries yield 20-30% more results. |
💡 Pro Tip: Always include the city or district name in your query or location field.
Collect every branch of a chain
Put the chain name in Chains (filterChainId) and every result is a branch of that chain. Names are matched automatically, no ID lookup needed:
{"query": ["Пятёрочка"],"location": "Moscow","filterChainId": ["Пятёрочка"],"maxResults": 2000}
Branches come back as separate rows with their own address, phone, hours, rating and reviews. Each row also carries chainName, chainId and chainSlug. chainId is the join key: it is what ties every branch row back to the company it belongs to, so keep it when you split the dataset per company. Large chains additionally report chainBranchesInCity, the branch count in the searched city, which tells you how high to set Max results; smaller chains leave it empty. Pass chainId instead of the name when you want an exact match.
Note that Start URLs and Business IDs return only the places you listed, not their chains. To go from a page to its chain, put the URL in Chains instead — see below.
Branches for many companies in one run
Chains also accepts a Yandex Maps page of any one branch. Paste one URL per company and a single run returns every company's branches, each row labelled with chainName and chainId. No ID lookup, and no separate run per company:
{"query": ["магазин"],"location": "Moscow","filterChainId": ["https://yandex.com/maps/org/leningradskiye_kukhni/80416719747/","Додо Пицца","6003206"],"maxResults": 2000}
Branch URLs, chain names and chainId values can be mixed in the same list. A Search query is still required, but it barely narrows anything once Chains is set, so a broad word like магазин or shop works for any kind of business.
⚠️ Max results is one budget for the whole run, shared by every company in the list. Results come back ranked, so a large chain can spend the entire budget before a small one is reached, and that company returns no rows at all. Set it to roughly the total number of branches you expect across all the companies. The run log names any company that came back empty, so check it before concluding a company has no branches in the area.
Branches across the whole country
One run instead of one per city. A chain like Пятёрочка has branches in thousands of Russian towns. A normal search is anchored to one city, so collecting them all means running the actor once per city and choosing the cities yourself, with no way to know which towns you missed.
Set Search area to Whole country and the actor works through town centres across Russia instead, merging everything it finds into one deduplicated list. You get the chain's national footprint in a single dataset: every branch with its own address, phone, coordinates, rating, working hours and chainId.
It needs Chains, and Location only decides which country is searched, not which part of it, so any Russian city will do.
{"query": ["магазин"],"location": "Moscow","searchScope": "country","filterChainId": ["Теремок"],"maxResults": 2000}
Before you start a large one:
- Set Max results and a maximum cost per run. A whole-country run returns far more places than a city run and takes much longer.
- Turn reviews off. The Include reviews toggle is on by default, and 50 reviews per place is a great deal of work at this volume: it slows the run considerably and can mean fewer branches found before the run reaches its limits. Calling the actor from code without the field at all already defaults it off for whole-country runs.
- Available in Russia only for now.
What the run tells you when it finishes:
- A
RUN_SUMMARYrecord is saved to the key-value store, outside your results. It records how many places came back, why the run stopped, and which requested companies returned nothing. - It never claims to have found everything.
coverageStatusis alwaysunverifiedandmoreResultsAvailableisnullon every row, both deliberately: a whole-country run cannot tell "this company has no more branches" from "no town we searched was near one", so it does not answer the question rather than answering it wrongly.
Maximize coverage
On Yandex Maps, "кафе" is an umbrella category that includes restaurants, cafes, bars, and coffee shops. Searching "кафе" in Moscow returns 23,000+ unique places — 3x more than "рестораны" (7,500).
| Query | Moscow results | Notes |
|---|---|---|
кафе | ~23,000 | Broadest food/drink term — includes restaurants |
рестораны | ~7,500 | Subset of кафе (91% overlap) |
аптеки | ~5,000+ | Pharmacies |
стоматология | ~3,000+ | Dentists |
Use multiple queries for distinct categories (e.g., ["аптеки", "стоматология", "медицинский центр"]). maxResults is the budget for the run as a whole, so raise it when you add keywords — the queries run in order and share it. For overlapping categories ("рестораны" + "кафе"), the second query adds <3% extra. Set maxResults to 0 for unlimited. The category dropdown automatically uses optimized Russian queries.
Don't pay twice for the same place
Put every keyword in one run, not one run per keyword. Results are merged and deduplicated across all queries in a run, so a place that three keywords return is delivered once and charged once.
{"query": ["аптека", "аптечная сеть", "аптека 24 часа"],"location": "Владивосток","maxResults": 0}
Running those three keywords as three separate runs returns the overlap three times, and charges for it three times.
Coming back later with new keywords? Pass the IDs you already have in excludeBusinessIds. Those places are skipped before they are scraped, so maxResults is spent only on places that are new to you, and you are not charged for the ones you already own.
{"query": ["аптека дежурная"],"location": "Владивосток","excludeBusinessIds": ["1031731359", "1018907821"]}
Each search result also carries moreResultsAvailable:
false— the search was exhausted. You have every place Yandex serves for that query and area, and running again returns nothing new.true— more results may remain, so running again with a highermaxResults(and the IDs you already have inexcludeBusinessIds) is worth doing. This covers hitting yourmaxResults, hitting your cost limit, and the rarer case where the source stops serving results before the area is fully covered. It is deliberately cautious: where a run cannot be certain it finished, it saystrue, so an occasional re-run comes back empty.falseis the value that is never guessed.null— the record came from a direct business ID or URL lookup, which has no search behind it and therefore nothing to exhaust.
⚠️ The value belongs to the query that produced the row, not to the whole run. With several search queries in one run, each one answers for itself, so a dataset can legitimately contain both values: one keyword ran out while another still had more. Read it per searchQuery rather than taking any single row as the answer for the run.
Output Example — Пример выходных данных
Each place produces a structured JSON record with 80 fields. Real output for Cafe Pushkin (enrichment enabled, 10 photos, 5 posts):
{"businessId": "1018907821","title": "Pushkin","rating": 4.9,"reviewCount": 5913,"ratingCount": 15055,"phones": ["+7 (495) 739-00-33"],"website": "https://cafe-pushkin.ru/","email": "banquet@cafe-pushkin.ru","legalInfo": {"name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"МОНЕ\"","taxId": "7703210406"}// + 71 more fields...}
{"businessId": "1018907821","title": "Pushkin","description": "Moscow, Tverskoy Boulevard, 26А","type": "business","url": "https://yandex.com/maps/org/pushkin/1018907821/","searchQuery": "direct","moreResultsAvailable": null,"longitude": 37.60493,"latitude": 55.763722,"address": "Moscow, Tverskoy Boulevard, 26А","country": "Russian Federation","region": "","city": "Moscow","street": "Tverskoy Boulevard","house": "26А","postalCode": "125009","status": "open","isOpenNow": true,"isVerifiedOwner": true,"rating": 4.900000095367432,"ratingsCount": 5913,"ratingCount": 15055,"reviewAspects": [{"id": "3502043738","name": "Meal","count": 4145,"positive": 3449,"neutral": 203,"negative": 493},{"name": "Staff","count": 2708,"positive": 1945,"neutral": 253,"negative": 510},{"name": "Atmosphere","count": 2028,"positive": 1830,"neutral": 63,"negative": 135}],"categories": ["Restaurant","banquet hall","cafe"],"categoryIds": ["184106394","184106146","184106390"],"phones": ["+7 (495) 739-00-33"],"phonesDetailed": [{"number": "+7 (495) 739-00-33","dialable": "+74957390033","type": "phone","label": "Reception"}],"website": "https://cafe-pushkin.ru/","socialLinks": [{"type": "telegram","url": "https://t.me/cafepushkin_official","readableHref": "@cafepushkin_official"}],"workingHoursText": "Mon-Thu 9:00 AM–12:00 AM; Fri-Sun 24 hours","schedule": [{"day": "Monday","hours": "24 hours"},{"day": "Tuesday","hours": "09:00–00:00"},{"day": "Wednesday","hours": "09:00–00:00"},{"day": "Thursday","hours": "09:00–00:00"},{"day": "Friday","hours": "09:00–00:00"},{"day": "Saturday","hours": "24 hours"},{"day": "Sunday","hours": "24 hours"}],"features": {"average_bill2": "3500–4500 ₽","food_delivery": true,"coffee_to_go": true,"takeaway": true,"price_category": "high","gift_certificate": true,"uslugi_banketnyj_zal": "wedding reception","sobytiya": ["Business meeting","Family dinner","Company party","The Banquet"],"ultima_guide_included": true,"caring_for_couriers_tea": true,"car_park": true,"payment_method": ["prepayment","cash","payment by card","online"],"caring_for_couriers_coffee": true,"breakfast": true},"featureNames": {"average_bill2": "average bill","food_delivery": "food delivery","coffee_to_go": "coffee to go","takeaway": "takeout","price_category": "prices","gift_certificate": "gift certificate","uslugi_banketnyj_zal": "services","sobytiya": "Events","caring_for_couriers_tea": "Tea","car_park": "parking","payment_method": "payment method","caring_for_couriers_coffee": "Coffee","breakfast": "breakfast","music": "music","promotions": "promotions","caring_for_couriers_charging_station": "Charging station","business_lunch": "business lunch","toilet": "toilet","online_takeaway": "Pre-order online","caring_for_couriers_wc": "WC","preliminary_registration": "preliminary registration","elevator_wheelchair_accessible": "Elevator wheelchair accessible","payment_by_credit_card": "Credit card payment","special_menu": "special menu","caring_for_couriers_water": "Water","type_cuisine": "cuisine","wheelchair_access": "wheelchair accessibility","parking_attendant": "parking attendant","wi_fi": "Wi-Fi","type_public_catering": "type of place","wheelchair_accessible_vocabulary": "wheelchair accessible","features_institution": "features institution","dimmed_lights": "dimmed lights","types_of_delivery": "types of delivery","summer_terrace": "summer terrace"},"photoCount": 499,"photoUrlTemplate": "https://avatars.mds.yandex.net/get-altay/492546/2a0000015ed06603416cd0917f53e431490e/%s","videoCount": 42,"videos": [{"url": "https://runtime.strm.yandex.ru/player/video/vplv2mockqzgzhvexkkb","thumbnail": "https://avatars.mds.yandex.net/get-vh/6275370/2a00000189b59841b9f790192e2e123fd57c/orig","width": 1920,"height": 1080},{"url": "https://runtime.strm.yandex.ru/player/video/vplvfxfov5bae4gckytz","thumbnail": "https://avatars.mds.yandex.net/get-vh/6919792/2a00000189cf650e85920c8d9df64e2207ea/orig","width": 1080,"height": 1920}],"logoUrl": "https://avatars.mds.yandex.net/get-altay/6333331/2a0000018052d8b0661546e94a8e044b6254/XXXL","chainName": "","chainId": "","chainSlug": "","chainBranchesInCity": null,"bookingLinks": [{"type": "booking","url": "https://www.restoran.ru/booking-widget-form.php?id=387205&name=%D0%9A%D0%B0%D1%84%D0%B5+%D0%9F%D1%83%D1%88%D0%BA%D0%B8%D0%BD%D1%8A"}],"nearbyMetro": [{"id": "station__9858590","name": "Pushkinskaya","distance": "80 m","distanceValue": 80.815,"type": "metro","lineColor": "#4f8242"},{"name": "Tverskaya","distance": "101 m","distanceValue": 101.202,"type": "metro"}],"nearbyStops": [{"name": "Tverskaya Street","distance": "39 m","distanceValue": 39.1125,"type": "common"},{"name": "Pushkinskaya Square","distance": "247 m","distanceValue": 247.656,"type": "common"}],"badges": [],"awards": null,"snippet": null,"regionId": 213,"geoId": 120540,"shortTitle": "Pushkin","timezoneOffset": 10800,"panorama": {"id": "1298062764_673119416_23_1689344339","longitude": 37.604728,"latitude": 55.763718,"previewUrl": "https://static-pano.maps.yandex.ru/v1/?panoramaId=1298062764_673119416_23_1689344339","heading": -21.7,"tilt": 9.9},"eventsCount": 33,"bounds": {"sw": [37.600936,55.761386],"ne": [37.609146,55.766015]},"entrances": [{"longitude": 37.60491658,"latitude": 55.76371858,"azimuth": 298.8682933857268,"tilt": 0}],"popularityHistogram": {"wednesday": [0,0,0,0,0,0]},"sources": [{"name": "Advizzer","url": "http://advizzer.com/places.html","id": "advizzer"},{"name": "GreatList","url": "https://greatlist.ru/","id": "greatlist"}],"references": [{"id": "1541936387","source": "nyak"},{"id": "52b13cfa-13c4-4e18-959a-7efbf94b0dce","source": "yandex-eda"}],"featureGroups": [{"name": "Achievements","features": ["michelin","ultima_guide_included"]},{"name": "Prices","features": ["price_category","average_bill2"]}],"menu": {"source": "","sourceName": "Representative of the organization","sourceUrl": "","sourceType": "","disclaimer": "","menuLastUpdated": "2026-06-11T07:16:23.570141Z","totalItems": 130,"items": [{"title": "Морские гребешки с карпаччо из форели","description": "Бланшированные морские гребешки, соус (горчица зёрнами, светлый бальзамик, сок лимона, шафран, ваниль, табаско, фундучное масло), карпаччо из форели, маринад (белое вино, сок лимона, мёд, петрушка, эстрагон, кервель, табаско), редис, огурец, лук-с...","price": "1690","currency": "₽","volume": "","photoUrl": "https://avatars.mds.yandex.net/get-sprav-products/2790747/2a0000019a95287fff43d32ca62e36fae4a6/medium","sourceUrl": "https://dellos-delivery.ru/dostavka-cafe-pushkin/kholodnye-zakuski/17961/","sourceId": "","category": "Холодные закуски"},{"title": "Тартар из тунца с авокадо","description": "Тунец и авокадо, приправленные трюфельным и оливковым маслами, под пеной из васаби","price": "1790","currency": "₽","volume": "","photoUrl": "https://avatars.mds.yandex.net/get-sprav-products/2733259/2a000001995d4d96b277f9809e2d57fce651/medium","sourceUrl": "https://dellos-delivery.ru/dostavka-cafe-pushkin/kholodnye-zakuski/17962/","sourceId": "","category": "Холодные закуски"},{"title": "Заливное из щуки, судака и лосося","description": "Заливное из трёх видов рыб в сочетании со стружкой хрена. Особый вкус придаёт соус на основе взбитых сливок со свекольным соком и хреном","price": "1790","currency": "₽","volume": "","photoUrl": "https://avatars.mds.yandex.net/get-sprav-products/2808945/2a000001995d4d977fec0d0fa2de574680bb/medium","sourceUrl": "https://dellos-delivery.ru/dostavka-cafe-pushkin/kholodnye-zakuski/17963/","sourceId": "","category": "Холодные закуски"}]},"additionalAddress": "","bookingPartner": {"partner": "Яндекс Еда","url": "https://eda.yandex/business/reservation","logo": "https://avatars.mds.yandex.net/get-bunker/994123/63ddad855b3011f1b472bedb9054bb4b/orig","originalId": "eats__731cd9a4-3d75-4193-8734-650e3ab7974f","bookingType": "restaurant"},"legalInfo": {"name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"МОНЕ\"","taxId": "7703210406"},"actionButtons": [{"type": "url","title": "Reserve","url": "https://cafe-pushkin.ru/rezerv/?utm_source=yandexsprav&utm_medium=cpc&utm_campaign=button_rezerv"}],"promo": null,"productCatalog": [{"title": "Завтраки","url": "https://cafe-pushkin.ru/menyu/shampan-zavtrak/?utm_source=yandexsprav&utm_medium=cpc&utm_campaign=vitrina_zavtrak&erid=3MtFQRkqfB2huzBcHHttGQaUjyoCBy","imageUrl": "https://avatars.mds.yandex.net/get-tycoon/18833297/2a0000019a2f5e53404b39f978d5f58bc8b6/M_height","price": "","priceValue": null,"currency": ""},{"title": "Деловые обеды","url": "https://cafe-pushkin.ru/menyu/?utm_source=yandexsprav&utm_medium=cpc&utm_campaign=vitrina_obed&erid=3MtFQRkqfB2huzBcHHttGQaUjyoXbP","imageUrl": "https://avatars.mds.yandex.net/get-tycoon/17770680/2a0000019a2f601e99d55e5d12dc1d1dd106/M_height","price": "","priceValue": null,"currency": ""},{"title": "Банкеты","url": "https://cafe-pushkin.ru/banket-v-restorane/?utm_source=yandexsprav&utm_medium=cpc&utm_campaign=vitrina_banket&erid=3MtFQRkqfB2huzBcHHttGQaUjyoXyS","imageUrl": "https://avatars.mds.yandex.net/get-tycoon/14390846/2a0000019a2f622ba164363c0d7444798719/M_height","price": "","priceValue": null,"currency": ""}],"email": "banquet@cafe-pushkin.ru","neurosummary": "Отличный атмосферный ресторан с живой музыкой 😍","relatedPlaces": [{"oid": "1133929046","name": "Armenia"},{"oid": "1106897219","name": "Turandot"}],"visitsHistogram": {"fri": {"00": 0.003623401012,"01": 0.00229440493,"02": 0.001601446674,"03": 0.001321481306,"04": 0.001219312334,"05": 0.001212437114}},"trustFeatures": [{"name": "Meal","aspectId": 3502043738,"positive": 3449,"neutral": 203,"negative": 493,"isTrusted": true},{"name": "Kitchen","aspectId": 3502044248,"positive": 2531,"neutral": 79,"negative": 418,"isTrusted": false},{"name": "Service","aspectId": 3502046347,"positive": 2080,"neutral": 75,"negative": 553,"isTrusted": false}],"discoveryCollections": null,"bookingAvailability": {"available": true,"url": "https://eda.yandex/business/reservation"},"mobileVideos": [{"id": "vplv2mockqzgzhvexkkb","playerUrl": "https://runtime.strm.yandex.ru/player/video/vplv2mockqzgzhvexkkb","previewUrl": null,"duration": 56705,"width": 1920,"height": 1080}],"mobilePosts": [{"id": 65094008,"text": "Ресторан «Кафе Пушкинъ» запустил большой спецпроект «Романовы», приуроченный к юбилейным датам коронаций Николая II, Николая I и Александра ...","publicationTime": 1775516998310,"photos": [{"size": {"width": 1280,"height": 625},"url_template": "https://avatars.mds.yandex.net/get-sprav-posts/20318488/2a0000019d650ebd24eeb7ac813f5798f417/%s"}]}],"reviews": [{"reviewId": "MycGdzyXWM5d-D4Rpn6yG5qiFpg6xsJG","rating": 5,"text": "Я даже удивлена, что еще не писала отзыв об этом ресторане ) \nПотому что впервые побывала здесь еще лет 10 назад. И крайне рада тому, что ресторан работает. Ран…","date": "2026-03-20T22:10:13.274Z","authorName": "@katerina_blacksi","authorId": "3enkexprk2jx95h3rv2gyam7qr","authorAvatarUrl": "https://avatars.mds.yandex.net/get-yapic/37154/dNwW3RH3qABFSKOyPo0XcZsMgU-1/islands-200","authorLevel": "Дегустатор 6 уровня","likeCount": 6,"dislikeCount": 0,"businessComment": "Благодарим за отзыв! Рады, что все понравилось! Ждем новой встречи)","businessCommentDate": "2026-03-23T07:35:07.063Z","photos": ["https://avatars.mds.yandex.net/get-altay/15394162/2a0000019d0d4c9078b48cea213388fcb10a/XXXL","https://avatars.mds.yandex.net/get-altay/17681761/2a0000019d0d4caa4335831b6f67259929b6/XXXL","https://avatars.mds.yandex.net/get-altay/19595165/2a0000019d0d4c9dd67fed53a3cfd18ae28e/XXXL"],"photoDetails": [{"url": "https://avatars.mds.yandex.net/get-altay/15394162/2a0000019d0d4c9078b48cea213388fcb10a/XXXL","id": "15394162_2a0000019d0d4c9078b48cea213388fcb10a","width": 3024,"height": 4032,"createdTime": "2026-03-20T22:10:16.664Z","moderationStatus": "ACCEPTED","likeCount": 0,"dislikeCount": 0,"copyright": ""}],"videos": [],"textTranslations": [{"language": "TR","text": "Bu restoran hakkında henüz yorum yazmadığıma bile şaşırdım) \nÇünkü burayı ilk kez 10 yıl önce ziyaret etmiştim. Ve restoranın açık olmasına son derece sevindim. Eskiden burası her zaman kulüplerden sonra sabah 6-7'de buluştukları yerdi) Sanırım birçok insan onu o zamanlardan hatırlıyor. \n\nKurum çok hoş. Her zaman iyi hizmet. Garsonlar çoğunlukla yetişkin erkekler ve iletişim tarzları her zaman en üst düzeyde olmuştur. Bu, başarının anahtarıdır çok büyük )). Çok güzel hizmet. \n\nMutfakta da şikayet yok. Mutfak miktar olarak oldukça çeşitlidir ve kaliteye göre lezzetlidir. Bu sefer göreve geldim ve kötü bir seçim değildim. Her zaman ve her yerde olduğu gibi - salata suyunun varlığı memnun oldu ve harika kızarmış patatesler vardı. Burada ana menüden çok lezzetli bir Napolyon olduğunu biliyorum ( öyle görünüyor). \n\nRestoranın içi havalı. İddialı görünüyor, ama son derece rahat. Konumu da çok başarılı. "}],"textLanguage": "RU","textLanguageName": "Русский","isAnonymous": false,"isPublicRating": true,"commentCount": 1,"bold": [],"keyPhrases": [],"trustedLikeCount": 0,"isPinned": false,"reviewType": "YANDEX","authorProfileUrl": "https://reviews.yandex.ru/user/3enkexprk2jx95h3rv2gyam7qr","authorAchievements": [],"authorProfessions": []},{"reviewId": "YfaCY70v7y3SqiiBgU3IloMtB9XhCG","rating": 5,"text": "Отличное место для встреч с друзьями, вкусная еда, приятная атмосфера. ","date": "2026-06-17T07:03:23.193Z","authorName": "Анна Б.","authorId": "zavc08ugm2u7r80hadu5qwk43m","authorAvatarUrl": "https://avatars.mds.yandex.net/get-yapic/17910871/mYEaf0hBomojJAT6ydiJnLeu8-1/islands-200","authorLevel": "Знаток города 2 уровня","likeCount": 0,"dislikeCount": 0,"businessComment": "","businessCommentDate": "","photos": [],"photoDetails": [],"videos": [],"textTranslations": [],"textLanguage": "RU","textLanguageName": "Русский","isAnonymous": false,"isPublicRating": true,"commentCount": 0,"bold": [],"keyPhrases": [],"trustedLikeCount": 0,"isPinned": false,"reviewType": "YANDEX","authorProfileUrl": "https://reviews.yandex.ru/user/zavc08ugm2u7r80hadu5qwk43m","authorAchievements": [],"authorProfessions": []}],"photos": [{"url": "https://avatars.mds.yandex.net/get-altay/492546/2a0000015ed06603416cd0917f53e431490e/XXXL","width": 958,"height": 639,"tags": [{"id": "Interior","name": "Interior"}],"id": "urn:yandex:sprav:photo:6271186","copyright": "Яндекс","showReactions": true},{"url": "https://avatars.mds.yandex.net/get-altay/9237948/2a00000188f531b6143e54f75a76a7a928ef/XXXL","width": 904,"height": 597,"tags": [{"id": "Interior","name": "Interior"}],"id": "urn:yandex:sprav:photo:9237948-2a00000188f531b6143e54f75a76a7a928ef","copyright": "kudago.com","showReactions": true}],"posts": [],"reviewCount": 5913}
Pricing — Pay Per Event (PPE) — Тарифы
Transparent per-event pricing. You only pay for what you extract.
Events
| Event | What triggers it | Price / 1,000 |
|---|---|---|
| place_scraped | Each place extracted (includes 50 reviews) | $6.99 |
| place_enriched | Each place enriched (email, AI-generated review summary, menu) | $1.50 |
Enrichment is optional. If enrichBusinessData is off, you only pay place_scraped. You never pay for duplicates — results are automatically deduplicated across all queries, URLs, and business IDs in a single run.
Controlling what you spend
| Lever | What it does |
|---|---|
maxResults | Your main control. A place costs $0.00699, so maxResults: 100 is ~$0.70 and maxResults: 1000 is ~$7. |
| Maximum cost per run | A hard ceiling, set when you start the run (Console: Maximum cost per run; API: maxTotalChargeUsd). The run stops as soon as it is reached. |
excludeBusinessIds | Continue a job across runs without paying twice. Pass the IDs you already collected and only new places are scraped and billed. |
searchScope | city (default) or country. Country needs filterChainId and returns far more places. |
moreResultsAvailable | Tells you whether it is worth running again: true means results were left behind, false means the search was exhausted. |
⚠️ maxResults: 0 means unlimited. A big city can hold tens of thousands of places, so an unlimited run keeps scraping until it reaches the maximum cost per run for that run. If no maximum cost is set, it keeps going until the search runs out. Set maxResults to a number unless you genuinely want every place.
Fetching in batches (pay as you go):
{ "query": ["кафе"], "location": "Moscow", "maxResults": 500 }
Then feed the IDs you received into the next run to get the next 500, with nothing billed twice:
{ "query": ["кафе"], "location": "Moscow", "maxResults": 500,"excludeBusinessIds": ["1018907821", "1017517628", "..."] }
Repeat until moreResultsAvailable comes back false for every query in the run, which means the city is exhausted for those keywords. With several keywords, check them one query at a time: they finish at different points.
💡 Use batches above 200. At 200 or below the Actor searches a single map viewport, which serves only its top results, so small batches sample the same shallow pool and dry up early. Above 200 it sweeps the city zone by zone and reaches everything.
Apify Store Subscription Discounts
Higher subscription tiers get cheaper per-event pricing:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| place_scraped | $6.99 / 1k | $6.49 / 1k | $5.99 / 1k | $4.99 / 1k |
| place_enriched | $1.50 / 1k | $1.20 / 1k | $1.00 / 1k | $0.80 / 1k |
Cost Calculator — Калькулятор стоимости
Examples at base price. Subscribers pay up to 29% less.
Lead generation — 1,000 businesses with contacts and reviews:
| What | Count | Cost |
|---|---|---|
| Places (+ 50 reviews each) | 1,000 | $6.99 |
| Total | $6.99 |
Market research — 500 restaurants with enrichment:
| What | Count | Cost |
|---|---|---|
| Places | 500 | $3.50 |
| Enrichment (email, AI summary, menu) | 500 | $0.75 |
| Total | $4.25 |
Photos and posts are included in the place_scraped event — no additional charge.
How to Scrape Yandex Maps Data in Python — Парсинг Яндекс Карт на Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("zen-studio/yandex-places-scraper").call(run_input={"query": ["restaurant"],"location": "Moscow","maxResults": 100,"enrichBusinessData": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} — {item['rating']} — {item['phones']}")
How to Scrape Yandex Maps Data in JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('zen-studio/yandex-places-scraper').call({query: ['restaurant'],location: 'Moscow',maxResults: 100,enrichBusinessData: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.title} — ${item.rating} — ${item.phones}`);});
FAQ — Часто задаваемые вопросы
Q: How many places can I scrape from Yandex Maps?
A: Set maxResults to 0 for unlimited. Broad queries like "кафе" return 23,000+ results in Moscow in under 40 minutes. Use the broadest relevant Russian term and the scraper automatically covers the full city. Run multiple queries for distinct categories — results are deduplicated.
Q: Do I need a Yandex account? A: No. No login, no cookies, no browser. Works immediately.
Q: Нужен ли браузер для работы? A: Нет. Парсер работает без запуска браузера — это означает высокую скорость и низкое потребление ресурсов.
Q: Which countries does Yandex Maps cover? / Какие страны покрывает Яндекс Карты? A: Russia, Turkey, Kazakhstan, Belarus, Ukraine, Uzbekistan, Georgia, Azerbaijan, Armenia, Kyrgyzstan, Tajikistan, and select Middle Eastern regions. Coverage is strongest in Russia and Turkey.
Q: Can I search in English? A: Yes. Location accepts any language — type "Moscow", "Москва", or "Moskova". Search queries work in any language too, though Russian queries return the most results for Russian cities.
Q: How do reviews work?
A: 50 most relevant reviews are included with every place at no extra cost. The language setting controls which reviews surface first — Turkish locale returns Turkish reviews first, English returns English reviews first. Set includeReviews: false to skip them for large runs (1000+ places) where the embedded reviews would bloat the dataset past what tools like n8n, Google Sheets, or Airtable can handle.
Q: What does enrichment add? A: Email address, AI-generated review summary, full delivery menu with prices and photos, related businesses nearby, hourly foot traffic patterns, booking availability, and detailed sentiment analysis. Costs an additional $1.50/1,000 places.
Q: Как собрать телефоны и email организаций из Яндекс Карт?
A: Телефоны извлекаются автоматически. Для email включите enrichBusinessData. Экспортируйте результаты в CSV для импорта в CRM.
Q: Can I scrape specific businesses by URL or ID?
A: Yes. Use startUrls to paste Yandex Maps URLs directly, or businessIds to pass numeric organization IDs. Both skip search and fetch the business directly.
Q: Сколько стоит парсинг? A: $6.99 за 1000 мест (включая 50 отзывов на место). Обогащение данных (email, нейросаммари, меню) — дополнительно $1.50 за 1000 мест. Фото и посты — без дополнительной платы.
Q: What filters are available? A: 20+ filters — rating threshold, open now, 24/7, delivery, takeaway, Wi-Fi, card payment, parking, pet-friendly, wheelchair access, Michelin, cuisine type, price range, chains by name, 1,650+ categories by name, and more.
Q: Does this work for Turkey? / Bu Türkiye için çalışıyor mu?
A: Yes. Yandex Maps is the #1 navigation app in Turkey with 5.6M+ users. The scraper covers Istanbul, Ankara, Antalya, İzmir, Bursa, and all Turkish cities on Yandex Maps. Set language to "tr" for Turkish addresses, categories, and reviews.
Q: Türkiye'deki işletmelerin verilerini nasıl toplayabilirim?
A: Arama sorgunuzu girin (ör. "restoran", "kuaför", "eczane"), şehri seçin ve çalıştırın. Telefon numaraları, adresler, puanlar ve yorumlar otomatik olarak toplanır. E-posta için enrichBusinessData seçeneğini etkinleştirin. Sonuçları CSV veya Excel olarak dışa aktarın.
Q: Bu aracın maliyeti nedir? A: 1.000 işletme için $6,99 (her işletme için 50 yorum dahil). Veri zenginleştirme (e-posta, AI yorum özeti, menü) — ek $1,50 / 1.000 işletme. Fotoğraflar ve gönderiler ücretsizdir.
Q: Hangi Türk şehirleri destekleniyor? A: İstanbul, Ankara, Antalya, İzmir, Bursa, Adana, Gaziantep, Konya, Mersin ve Yandex Harita'daki tüm Türk şehirleri. Yandex, Türkiye'de 2025'te işletme kayıtlarında %162 büyüme kaydetti.
Q: How do I generate leads from Yandex Maps?
A: Set your query (e.g. "restoran" or "kuaför"), pick a city, enable enrichBusinessData for emails, and export to CSV. You'll get phone numbers, emails, websites, and addresses ready for CRM import or cold outreach.
Q: Is this a Google Maps alternative for Russia and Turkey? A: Yes. For Russian and Turkish cities, Yandex Maps has significantly more business listings than Google Maps. This scraper extracts the same data types (name, phone, address, rating, reviews) but from Yandex's larger local database.
More Zen Studio scrapers for maps & local data
Baidu Maps 百度地图
Google Maps
Apple Maps
Yandex Maps Яндекс Карты
2GIS 2ГИС
Naver Map & Place 네이버 지도
Bing Maps
Supported Countries — Покрытие стран
| Country | Cities | Notes |
|---|---|---|
| Russia | 1,000+ | Full coverage — Moscow, St. Petersburg, all regions |
| Turkey | 80+ | Istanbul, Ankara, Antalya, İzmir, Bursa, and more |
| Kazakhstan | 20+ | Almaty, Astana, Shymkent |
| Belarus | 10+ | Minsk, Gomel, Brest |
| Uzbekistan | 10+ | Tashkent, Samarkand |
| Georgia | 5+ | Tbilisi, Batumi |
| Azerbaijan | 5+ | Baku |
| And more... | — | Armenia, Kyrgyzstan, Tajikistan, Ukraine |
Disclaimer
Data is collected from publicly available sources and provided "as is" for informational purposes. Users are responsible for compliance with Yandex' terms of service and applicable regulations in their jurisdiction.
Start Scraping Yandex Maps Now — Начать парсинг Яндекс Карт
Structured business data from the largest map service in Russia, Turkey, and CIS — extracted in minutes.
