Yandex Maps Places Scraper avatar
Yandex Maps Places Scraper

Pricing

Pay per usage

Go to Apify Store
Yandex Maps Places Scraper

Yandex Maps Places Scraper

This actor extracts structured business data from Yandex Maps, including contacts, addresses, coordinates, ratings, categories, opening hours, photos, websites, and identifiers.

Pricing

Pay per usage

Rating

5.0

(1)

Developer

Mikhail Mamaev

Mikhail Mamaev

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

2

Monthly active users

3 days ago

Last modified

Share

This actor extracts structured business data from Yandex Maps, including contacts, addresses, coordinates, ratings, categories, opening hours, photos, websites, and identifiers. You may switch between:

  • scrape_web (default) – Playwright browser scraping. Richest data, no API key.
  • official_api – Yandex Maps REST API v1 (https://search-maps.yandex.ru/v1/). Requires yandexApiKey.

Works great for

  • competitor analysis
  • local business research
  • lead generation
  • geomarketing
  • building business directories
  • mass extraction/analytics

Features

  • 🔍 Flexible search queries (“кафе в Санкт-Петербурге”, “pizza in Kazan”, “аптеки Москва центр”).
  • 📦 Rich normalized output: names, addresses, coordinates, ratings, review counts, categories (simple/full), phones, websites, working hours (structured), metro/transport, photos, business features (Wi-Fi, delivery, etc.), Yandex IDs (oid, yandexId, geoId), search query, source URL, results order, timestamps.
  • 🗄️ Raw JSON snapshots stored under key_value_stores/raw-places/place_<id>.json.
  • 🌍 Language support: ru_RU and en_US (default). Language affects UI labels, sorting, categories, and nearby ties.
  • 🚦 Two modes. Browser scraping for flexible queries; official API for large stable batches.

Important for RU-localized output

Use both:

"lang": "ru_RU",
"proxyConfig": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "RU"
}

This ensures Russian interface, correct ranking, categories, and nearby results.

Input examples

{
"query": "кафе в Санкт-Петербурге",
"maxItems": 200,
"lang": "ru_RU",
"mode": "scrape_web",
"proxyConfig": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "RU"
}
}
{
"query": "cafe in St. Petersburg",
"lang": "en_US",
"maxItems": 20,
"mode": "scrape_web"
}

Parameters

FieldRequiredDescription
querySearch phrase (any language)
maxItemsMax results (≤350 per 8 GB RAM recommended)
langru_RU or en_US
modescrape_web or official_api
proxyConfigRecommended for RU-localized runs/large cities
yandexApiKeyofficial API onlyYandex Maps API key

Output (normalized)

{
"id": "98423109086",
"name": "Brooklyn Coffee Bar",
"address": "St Petersburg, Nevsky Prospekt, 22",
"index": 2,
"coords": [59.93428, 30.335098],
"rating": 4.8,
"reviews_count": 250,
"categories": ["Coffee shop", "Bakery"],
"phones": ["+7 812 555-12-34"],
"website": "https://brooklyncoffee.ru",
"working_hours": "daily, 09:00–22:00",
"yandex_id": "98423109086",
"geo_id": 2,
"search_query": "cafe in St. Petersburg",
"source_url": "https://yandex.com/maps/org/brooklyn_coffee_bar/98423109086/",
"fetched_at": "2025-11-16T14:25:33.214Z"
}

Raw payload example (shortened):

{
"properties": {
"name": "Brooklyn Coffee Bar",
"businessData": {
"rating": 4.8,
"reviews": 250,
"phones": [...],
"workingTime": {...},
"urls": [...]
}
}
}

Limitations & tips

  • Browser mode depends on RAM. ~8 GB → 300–380 cards; 12–16 GB → 500+ cards.
  • Yandex may trigger captcha for aggressive scraping; use RU residential proxies.
  • Official API mode is fast, stable, HTTP-only (no browser RAM limits).

Pricing

  • Temporarily free; contact the author for tailored plans when you’re ready for scale.

Changelog (v1.0.0)

  • Full web scraping + official API mode
  • RU / EN localization & sanitization
  • Memory optimizations (resource blocking, DOM trimming)
  • Raw snapshots for every place
  • Duplicate prevention

Development / local testing

npm install
APIFY_INPUT='{"query":"pizza in St. Petersburg"}' npm start

On Apify Cloud, provide the same JSON via the Console form. Output goes to the default dataset and raw-places KV store.

Support & custom versions

Need extra fields, review scraping, large-scale runs? Contact the author for customizations.

This scraper is not affiliated with Yandex. It automates publicly accessible data as permitted by the platform.