# Yandex Maps Reviews Scraper (`scrapesmith/yandex-maps-reviews-scraper`) Actor

🔥$0.49/1000 results🔥Scrape reviews from any Yandex Maps business. Get review text, ratings, author profiles, business replies, photos, translations, and place context. 35 fields per review. Covers Russia, Turkey, Kazakhstan, and CIS.

- **URL**: https://apify.com/scrapesmith/yandex-maps-reviews-scraper.md
- **Developed by:** [Scrape Smith](https://apify.com/scrapesmith) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.25 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🗺️ Yandex Maps Reviews Scraper — Extract Every Review, Rating & Reply

Scrape **customer reviews from any business on Yandex Maps** in seconds. Get the full review text, star rating, author profile with contributor level, photos, likes/dislikes, business owner replies, and automatic translations — **35 structured fields per review**, ready to drop into a spreadsheet, dashboard, or AI pipeline.

No login. No API key. No proxy. No cookies. Paste a business URL (or just the numeric ID) and hit run.

***

### 🔍 What does the Yandex Maps Reviews Scraper do?

Yandex Maps is the #1 map and local-business directory across **Russia, Turkey, Kazakhstan, and the wider CIS region** — millions of businesses, from neighborhood cafés to national hotel chains, each with a stream of customer reviews. This actor is a dedicated **Yandex Maps review scraper** and **Yandex reviews API alternative**: point it at one or thousands of businesses and it returns every review as a clean, flat JSON record — no nested blobs, no HTML to parse, no manual copy-pasting from the map.

Think of it as a **Yandex Maps data export** tool built specifically for reviews: star ratings, full review text in the original language plus automatic translations, the reviewer's profile and contributor level, attached photos, and whether (and how) the business owner replied. Everything is scraped live, directly from Yandex Maps, every time you run it — there's no stale cache sitting between you and the real data.

#### Use it to:

- 📢 **Monitor brand reputation** — track every review across all your Yandex Maps locations, in every city you operate in
- 🔎 **Competitive benchmarking** — compare review scores, volume, and review velocity against competing businesses
- 📊 **Sentiment analysis pipelines** — feed clean review text straight into NLP models for topic extraction, sentiment scoring, and trend detection
- 🏪 **Local market research** — understand what customers expect and complain about in specific Russian, Turkish, or Kazakh cities
- 💬 **Customer service auditing** — measure how fast and how well businesses respond to feedback via `businessComment` and `businessCommentDate`
- 🏢 **Multi-location monitoring** — scrape reviews for every franchise or branch location in one parallel run
- 🌍 **Cross-language insight** — reviews arrive with automatic Russian, English, and Turkish translations, so language is never a barrier
- 🧠 **AI & LLM training data** — structured, de-duplicated review records ready for fine-tuning, RAG pipelines, or classifier training
- 🗂️ **CRM & review-management integrations** — pull fresh reviews into your existing reputation-management stack on a schedule

### 👥 Who is this for?

- **Restaurant, café, salon, hotel, and retail chains** operating across Russia, Turkey, Kazakhstan, or the CIS that need to keep tabs on customer sentiment at every location
- **Marketing and reputation-management agencies** who monitor reviews for multiple clients and need clean, exportable data — not a dashboard lock-in
- **Data teams and analysts** building sentiment dashboards, competitor trackers, or local-market research reports
- **AI/ML engineers** who need real review text (multi-language, with translations already attached) for training or evaluation
- **Developers and no-code builders** wiring review data into Zapier, Make, n8n, Google Sheets, or a custom AI agent via API/MCP

### ⚡ Why use this scraper?

- 💰 **A fraction of the cost of the leading alternative** — priced per result, not per subscription tier, so you only pay for the reviews you actually get
- 📋 **35 fields per review** — ratings, full text, three-language translations, business replies, author profiles with contributor levels and achievements, photos, likes/dislikes, and place context
- 🚀 **Fast, parallel scraping** — every business you submit is scraped simultaneously, not one at a time
- 🌍 **Auto-translations included at no extra cost** — Russian, English, and Turkish, wherever Yandex provides them
- 🔌 **Zero proxy cost, zero hidden charges** — the price you see is the price you pay
- ✅ **Zero setup** — no cookies, no API keys, no Yandex account, no browser extension
- 🔁 **Per-place limits** — cap reviews per business so a 50-location run stays balanced instead of exhausting your budget on the first business
- 🌐 **Multi-country coverage** — the same run handles Russian, Turkish, Kazakh, and other CIS businesses side by side

### 💰 How much does it cost?

Pay-per-result pricing. You only pay for the reviews you receive — nothing for setup, nothing for failed lookups.

| Volume | Approximate cost |
|--------|-----------------|
| 25 reviews | 🆓 **Free** (every run) |
| 1,000 reviews | ~$0.007 |
| 10,000 reviews | ~$0.07 |
| 100,000 reviews | ~$0.70 |

No proxy fees. No subscription required to get the base price. No per-seat charges.

#### 📊 What makes it different

| | This scraper | Typical Yandex Maps review tools |
|---|---|---|
| Price per 1,000 reviews | **Cents, not dollars** | Often $2–3 per 1,000 |
| Setup required | None — paste a URL and run | Some require accounts, subscriptions, or tiered plans |
| Free testing | 25 reviews on every run | Often capped lower or gated behind a paywall |
| Translations | Included automatically | Sometimes an add-on or missing entirely |
| Author context | Name, avatar, contributor level, achievements, professions | Often just a name |
| Place context per review | Name, address, phone, GPS coordinates, rating, review count | Frequently limited to name and rating |
| Multi-location runs | Parallel, with per-place result caps | Often sequential or lacks per-place balancing |
| Output formats | JSON, CSV, Excel, XML, RSS | Varies |

**Cheaper, richer, and just as fast** — built to be the obvious upgrade over the incumbent options on the market.

### 📥 Input

Paste Yandex Maps business URLs or numeric org IDs — mix both freely in the same run:

- Full URL: `https://yandex.ru/maps/org/severyane/206562056886/`
- Reviews page URL: `https://yandex.ru/maps/org/severyane/206562056886/reviews/`
- Bare numeric ID: `206562056886`

#### Input parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| **urls** | Array of strings | Yes | Yandex Maps business URLs or numeric org IDs |
| resultsPerPlace | Integer | No | Maximum reviews per individual business. Leave empty to scrape all available reviews. |

#### Example input — multiple locations

```json
{
    "urls": [
        "https://yandex.ru/maps/org/severyane/206562056886/",
        "1124715036"
    ],
    "resultsPerPlace": 200
}
```

#### Example input — single location, all reviews

```json
{
    "urls": ["206562056886"]
}
```

### 🛠️ How to use it

1. **Find your business (or businesses)** on Yandex Maps and copy the page URL — or just grab the numeric ID at the end of the URL.
2. **Paste one or more URLs/IDs** into the `urls` field. You can mix full URLs, reviews-page URLs, and bare IDs freely.
3. **(Optional) Set `resultsPerPlace`** if you want a balanced cap across many locations instead of pulling every review from each one.
4. **Click Start.** The actor fetches every business in parallel and streams reviews into the dataset as it goes — no waiting for the whole run to finish before you can preview results.
5. **Export** your results as JSON, CSV, Excel, XML, or RSS, or pull them straight into Sheets, a webhook, or your own code.

### 📤 Output

Each review is a **flat JSON object with 35 fields** — no nested blobs, no HTML fragments to parse. Every field is populated with a real value or a sensible default (empty string, `0`, or `false`) — never `null`.

<details>
<summary><strong>Click to see all 35 output fields</strong></summary>

| Field | Type | Description |
|-------|------|--------------|
| reviewId | String | Unique review ID |
| text | String | Full review text, in its original language |
| textLanguage | String | Detected language code of the original text (e.g. `ru`, `en`) |
| textTranslationRu | String | Russian translation, when the original isn't already Russian |
| textTranslationEn | String | English translation, when the original isn't already English |
| textTranslationTr | String | Turkish translation, where available |
| rating | Integer | Star rating (1–5) |
| updatedTime | String | Review date, ISO 8601 |
| pinned | Boolean | Whether the review is pinned/featured |
| businessId | String | The business's numeric org ID |
| businessComment | String | The business owner's reply text |
| businessCommentDate | String | Date of the owner's reply, ISO 8601 |
| hasBusinessReply | Boolean | Whether the business responded to this review |
| authorName | String | Reviewer's display name |
| authorAvatarUrl | String | Reviewer's avatar image URL |
| authorLevel | String | Contributor level (e.g. "Level 9 Local Expert") |
| authorLevelType | String | Level classification type |
| authorPublicId | String | Reviewer's public profile ID |
| authorAchievements | Array | Badges/achievements on the reviewer's profile |
| authorProfessions | Array | Profession tags on the reviewer's profile |
| isSubscribed | Boolean | Whether the current viewer follows this reviewer |
| likesCount | Integer | Helpful votes on the review |
| dislikesCount | Integer | Not-helpful votes on the review |
| userReaction | String | Current viewer's reaction state |
| photos | Array | Full-resolution URLs of photos attached to the review |
| photoCount | Integer | Number of attached photos |
| videoCount | Integer | Number of attached videos |
| placeName | String | Business name |
| placeAddress | String | Business's full address |
| placeRating | Float | Business's overall average rating |
| placeReviewCount | Integer | Business's total review count |
| placeLatitude | Float | Business's GPS latitude |
| placeLongitude | Float | Business's GPS longitude |
| placePhone | String | Business's listed phone number |
| scrapedAt | String | Timestamp this record was scraped, ISO 8601 |

</details>

#### Example output

```json
{
    "reviewId": "1HoDfJ-IxpMTA3C4nu-higDyy0u-Ckvry",
    "text": "внутри достаточно красиво и уютно, очень симпатичное и аппетитно выглядит меню...",
    "textLanguage": "ru",
    "textTranslationEn": "",
    "textTranslationTr": "Aşağıdaki geri çağırmaya katılıyorum, çok sayıda personel var...",
    "rating": 4,
    "updatedTime": "2026-05-14T22:06:17.698Z",
    "pinned": false,
    "businessId": "3891252214",
    "businessComment": "Спасибо вам за такой подробный и честный отзыв...",
    "businessCommentDate": "2026-06-11T14:42:24.616Z",
    "hasBusinessReply": true,
    "authorName": "Вера",
    "authorLevel": "Level 9 Local Expert",
    "authorAvatarUrl": "https://avatars.mds.yandex.net/get-yapic/...",
    "likesCount": 4,
    "dislikesCount": 4,
    "photos": [
        "https://avatars.mds.yandex.net/get-altay/.../XXL",
        "https://avatars.mds.yandex.net/get-altay/.../XXL"
    ],
    "photoCount": 4,
    "videoCount": 0,
    "placeName": "Zdraste",
    "placeAddress": "Moscow, Krymskaya Embankment, 10с2",
    "placeRating": 5,
    "placeReviewCount": 290,
    "placeLatitude": 55.735922,
    "placeLongitude": 37.605116,
    "placePhone": "+7 (996) 657-44-89",
    "scrapedAt": "2026-07-29T16:29:36.000Z"
}
```

### 🏎️ Performance

| Metric | Value |
|--------|-------|
| Concurrent places | Up to 10 simultaneously |
| Memory footprint | Light — runs comfortably on the smallest instance size |
| Cost per 1,000 reviews | ~$0.007 |
| Proxy needed | No |
| Output formats | JSON, CSV, Excel, XML, RSS |

### 🌍 Supported regions

Works across the entire Yandex Maps network:

- **Russia** — Moscow, St. Petersburg, Novosibirsk, Yekaterinburg, Kazan, and 200+ cities
- **Turkey** — Istanbul, Ankara, Antalya, Izmir
- **Kazakhstan** — Almaty, Astana, Karaganda
- **CIS** — Uzbekistan, Kyrgyzstan, Belarus, Armenia, Georgia, Azerbaijan
- **Auto-translations** — reviews include Russian, English, and Turkish translations where Yandex provides them

### 💡 Tips and advanced usage

#### Monitor reviews on a schedule

Set up daily or weekly runs with [Apify Schedules](https://docs.apify.com/platform/schedules). Catch negative reviews early, track rating trends over time, and never miss a reply-worthy comment again.

#### Get balanced coverage across many locations

Use `resultsPerPlace` to cap reviews per business so your budget spreads evenly across a franchise network instead of draining on the first location:

```json
{
    "urls": ["org_id_1", "org_id_2", "org_id_3", "org_id_4"],
    "resultsPerPlace": 100
}
```

#### Find a business's org ID

The org ID is the long numeric identifier in any Yandex Maps URL:
`https://yandex.ru/maps/org/severyane/206562056886/` → `206562056886`

Search for the business on yandex.ru/maps, open its page, and copy the ID straight out of the address bar.

#### Export to Google Sheets

Use the [Apify Google Sheets integration](https://docs.apify.com/platform/integrations/google-sheets) to keep a spreadsheet automatically up to date after every run.

#### Use with Make, Zapier, or n8n

Connect via [webhooks](https://docs.apify.com/platform/integrations/webhooks) or the [Apify integrations page](https://docs.apify.com/platform/integrations) to trigger downstream workflows — Slack alerts on a 1-star review, CRM sync, you name it — the moment new reviews land.

### 🤖 API, MCP & AI agent integration

This actor is built to be called by code and by AI agents, not just clicked from the console.

#### Call it from your own code

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("scrapesmith/yandex-maps-reviews-scraper").call(
    run_input={
        "urls": ["206562056886"],
        "resultsPerPlace": 200
    }
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['authorName']} ({'⭐' * item['rating']}): {item['text'][:60]}")
```

#### Connect to Claude, ChatGPT, and other AI agents via MCP

This actor is available as an **MCP (Model Context Protocol) tool**, so AI agents built on Claude, ChatGPT, LangChain, or any MCP-compatible framework can call it directly as part of a larger workflow — no custom integration code required. Feed live Yandex Maps review data straight into an AI agent for on-demand sentiment analysis, automated reputation monitoring, competitive research, or a customer-service triage pipeline that flags negative reviews the moment they appear.

#### Works with your existing stack

- **REST API** — trigger runs and pull results the same way as any other Apify actor
- **Webhooks** — get notified the instant a run finishes
- **Scheduling** — recurring runs for always-fresh review monitoring
- **Zapier / Make / n8n** — no-code automation into Slack, email, CRMs, or spreadsheets

### ❓ Frequently asked questions

#### Does it work for all Yandex Maps countries?

Yes — Russia (200+ cities), Turkey, Kazakhstan, Uzbekistan, Kyrgyzstan, Belarus, Armenia, Georgia, Azerbaijan, and every other territory covered by Yandex Maps.

#### Are translations included?

Yes. Each review includes `textTranslationRu`, `textTranslationEn`, and `textTranslationTr` fields with automatic translations, whenever Yandex provides them for that review. The original language is indicated in `textLanguage`.

#### Can I get the business's overall rating and contact info?

Yes. Every review includes `placeRating` (average score), `placeReviewCount` (total review count), `placeAddress`, `placePhone`, and precise GPS coordinates (`placeLatitude`/`placeLongitude`) for the business.

#### Is there a limit on reviews per business?

No artificial limit on paid usage — the scraper paginates through all available reviews. Use `resultsPerPlace` if you want to cap output per location, for example to keep a multi-location run balanced.

#### How fresh is the data?

Every run fetches live data directly from Yandex Maps at the moment you run it. There's no caching layer sitting between you and the current reviews.

#### Do I need a Yandex account?

No. The scraper handles everything internally. No credentials, no cookies, and no browser extension needed on your end.

#### What's the difference between this and a Yandex Maps Places/business-listing scraper?

This scraper extracts **reviews** — full text, ratings, author profiles, and engagement metrics for every review on a business. A places/listings scraper instead extracts **business directory data** — names, addresses, phone numbers, working hours, and categories, typically with only a handful of sample reviews attached. Use this scraper whenever you need the actual customer feedback, not just the business listing.

#### Can I filter or sort the results after scraping?

Reviews are returned newest-first as they're scraped. You can filter or sort the output by rating, date, author, or any other field using Apify's built-in dataset tools, or in your own code after export — no need to re-run the scraper to slice the data differently.

#### Is scraping Yandex Maps reviews legal?

The scraper only collects data that is already publicly visible on Yandex Maps to any visitor — no login, no private data, no bypassing of account permissions. As with any web data collection, you're responsible for how you use the results and for complying with applicable laws and Yandex's own terms in your jurisdiction.

#### What happens if a business has thousands of reviews?

The scraper keeps paginating automatically until it runs out of new reviews or hits your configured limit (`resultsPerPlace` or your overall run budget) — there's no manual "load more" clicking required, even for businesses with very large review volumes.

### 🔗 Related scrapers

- [2GIS Reviews Scraper](https://apify.com/scrapesmith/2gis-reviews-scraper) — Scrape reviews from 2GIS businesses
- [Google Maps Reviews Scraper](https://apify.com/scrapesmith/Google-Maps-Reviews-Scraper) — Scrape reviews from Google Maps
- [TripAdvisor Reviews Scraper](https://apify.com/scrapesmith/tripadvisor-reviews-scraper) — Extract hotel and restaurant reviews
- [Booking Reviews Scraper](https://apify.com/scrapesmith/booking-com-hotel-reviews-scraper) — Scrape Booking.com hotel reviews
- [Google Play Reviews](https://apify.com/scrapesmith/google-play-store-reviews-scraper) — Extract app reviews
- [Apple App Store Reviews](https://apify.com/scrapesmith/apple-app-store-reviews-scraper) — Scrape iOS app reviews

#### Other Russian & CIS market scrapers

- [Avito Scraper](https://apify.com/scrapesmith/avito-scraper) — Extract classified listings from Avito.ru

***

**Keywords:** yandex maps reviews scraper, yandex maps scraper, yandex reviews api, yandex maps data export, yandex maps review extractor, scrape yandex maps reviews, yandex maps business reviews, yandex reviews scraper python, yandex maps API alternative, yandex карты отзывы парсер, парсер отзывов яндекс карт, yandex haritalar yorum kazıyıcı, CIS business reviews scraper, Russia reviews scraper, Turkey Yandex reviews, Kazakhstan business reviews, review sentiment data export, brand reputation monitoring tool, AI agent review scraper, MCP review data tool.

# Actor input Schema

## `urls` (type: `array`):

Yandex Maps business page URLs or numeric org IDs. Example: https://yandex.ru/maps/org/severyane/206562056886/ or just 206562056886

## `resultsPerPlace` (type: `integer`):

Maximum reviews per individual business. Leave empty to scrape all available.

## Actor input object example

```json
{
  "urls": [
    "https://yandex.ru/maps/org/severyane/206562056886/"
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://yandex.ru/maps/org/severyane/206562056886/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesmith/yandex-maps-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "urls": ["https://yandex.ru/maps/org/severyane/206562056886/"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesmith/yandex-maps-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://yandex.ru/maps/org/severyane/206562056886/"
  ]
}' |
apify call scrapesmith/yandex-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapesmith/yandex-maps-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/kxY2Tew8sMToNfOrE/builds/PhcKgYcTITgdsBpwj/openapi.json
