# Yandex Maps Reviews Scraper | Парсер отзывов Яндекс Карт (`analytics_tupiniquim/yandex-maps-reviews-scraper`) Actor

Scrape all reviews from any Yandex Maps place — rating, text, date, author (name, level, avatar), likes/dislikes, photos, plus business rating & categories. Fast and low-cost.

- **URL**: https://apify.com/analytics\_tupiniquim/yandex-maps-reviews-scraper.md
- **Developed by:** [Guilherme Teixeira](https://apify.com/analytics_tupiniquim) (community)
- **Categories:** Automation, E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 review scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 ⚡ | Парсер отзывов Яндекс Карт

Scrape **all reviews** from any Yandex Maps place — no login, no account. Get the
review rating, text, date, author (name, level, avatar, profile), likes/dislikes,
photos and videos, plus the business rating, ratings count, address and categories.

> 🇬🇧 English · [🇷🇺 Русский](#-русский) · [🇧🇷 Português](#-português)

***

### Why this scraper?

- 💸 **Up to 50% cheaper** than the alternatives — one flat price, no subscription tiers.
- ⭐ **Full review data** — 25+ fields per review, plus the place's own rating & categories on every row.
- 📄 **All reviews, auto-paginated** — set how many you want per place; it scrolls and collects them for you.
- 🌍 **Any place, any city** — pass Yandex Maps place URLs or numeric business IDs, in bulk.
- 🌎 **Bilingual docs** — English, Russian, Portuguese.

### Input

| Field | Type | Description |
|---|---|---|
| `startUrls` | array | Yandex Maps place URLs, e.g. `https://yandex.com/maps/org/1124715036/reviews/` |
| `businessIds` | array | Numeric business IDs (alternative to URLs). |
| `maxReviewsPerPlace` | integer | Max reviews per place (`0` = all). Default `100`. |
| `proxyConfiguration` | object | Proxy. Residential (default) is recommended for Yandex. |

#### Example input

```json
{
    "startUrls": ["https://yandex.com/maps/org/1124715036/reviews/"],
    "maxReviewsPerPlace": 200,
    "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

### Output

Each review is one dataset item, carrying the review data plus its business context:

```json
{
    "businessId": "1124715036",
    "businessTitle": "Яндекс",
    "businessUrl": "https://yandex.com/maps/org/1124715036/reviews/",
    "businessRating": 4.1,
    "businessRatingsCount": 5812,
    "businessAddress": "Москва, ул. Льва Толстого, 16",
    "businessCategories": ["IT-компания"],
    "reviewId": "T0x7WL6CxkwN56nuOs31pVBMbm9x_1t",
    "rating": 5,
    "text": "Шикарный офис. Есть массажная, спортзал, уютные переговорки…",
    "date": "2026-07-28T11:30:08.597Z",
    "likeCount": 12,
    "dislikeCount": 0,
    "authorName": "lintymoney",
    "authorId": "t5p72wztumwzjyj4af0tvhj1g4",
    "authorAvatarUrl": "https://avatars.mds.yandex.net/get-yapic/…/islands-200",
    "authorLevel": "Знаток города 10 уровня",
    "authorProfileUrl": "https://yandex.com/maps/user/t5p72wztumwzjyj4af0tvhj1g4",
    "textLanguage": "ru",
    "photos": [],
    "videos": [],
    "isPinned": false,
    "scrapedAt": "2026-07-29T02:07:00.000Z"
}
```

#### Output fields

| Field | Description |
|---|---|
| `reviewId`, `rating`, `text`, `date` | Review id, 1–5 rating, text and ISO date. |
| `likeCount`, `dislikeCount` | Reactions on the review. |
| `authorName`, `authorId`, `authorAvatarUrl`, `authorLevel`, `authorProfileUrl` | Reviewer details, incl. their "City Expert" level. |
| `textLanguage`, `photos`, `videos`, `isPinned` | Language, attached media, pinned flag. |
| `businessId`, `businessTitle`, `businessUrl`, `businessRating`, `businessRatingsCount`, `businessAddress`, `businessCategories` | The place's own data, on every review. |

### 💰 Cost

Pay-per-result: **$1.50 per 1,000 reviews** — roughly **half** the price of the alternatives, with no subscription tiers. Scraping 1,000 reviews ≈ **$1.50**.

### FAQ

**Does it need a Yandex login?** No. It reads public reviews only.
**How do I get a place URL?** Open the place on Yandex Maps, go to its Reviews tab and copy the URL.
**Can I limit how many reviews?** Yes — set `maxReviewsPerPlace` (`0` = all).

***

### 🇷🇺 Русский

Парсер **всех отзывов** любого места на Яндекс Картах — без входа и аккаунта.
Оценка, текст, дата, автор (имя, уровень, аватар, профиль), лайки/дизлайки, фото и
видео, плюс рейтинг места, количество оценок, адрес и категории.

#### Преимущества

- 💸 **До 50% дешевле** аналогов — единая цена, без подписок.
- ⭐ **Полные данные** — 25+ полей на отзыв + данные самого места в каждой строке.
- 📄 **Все отзывы с авто-пагинацией** — укажите нужное количество, парсер прокрутит и соберёт их.
- 🌍 Ссылки на места Яндекс Карт или числовые ID, пакетно.

#### Ввод

| Поле | Описание |
|---|---|
| `startUrls` | URL мест на Яндекс Картах (`.../reviews/`). |
| `businessIds` | Числовые ID организаций. |
| `maxReviewsPerPlace` | Макс. отзывов на место (`0` = все). |
| `proxyConfiguration` | Прокси. Рекомендуется резидентный. |

#### 💰 Цена

**$1.50 за 1000 отзывов** — примерно вдвое дешевле аналогов, без подписок.

***

### 🇧🇷 Português

Extraia **todas as avaliações** de qualquer lugar no Yandex Maps — sem login, sem conta.
Nota, texto, data, autor (nome, nível, avatar, perfil), likes/dislikes, fotos e vídeos,
além da nota do lugar, total de avaliações, endereço e categorias.

#### Por que este scraper?

- 💸 **Até 50% mais barato** que as alternativas — preço único, sem planos.
- ⭐ **Dados completos** — 25+ campos por avaliação + dados do lugar em cada linha.
- 📄 **Todas as avaliações, com paginação automática** — defina quantas quer por lugar.
- 🌍 URLs de lugares do Yandex Maps ou IDs numéricos, em massa.

#### Entrada

| Campo | Descrição |
|---|---|
| `startUrls` | URLs de lugares do Yandex Maps (`.../reviews/`). |
| `businessIds` | IDs numéricos (alternativa às URLs). |
| `maxReviewsPerPlace` | Máx. avaliações por lugar (`0` = todas). |
| `proxyConfiguration` | Proxy. Residencial (padrão) recomendado. |

#### 💰 Custo

**$1,50 por 1.000 avaliações** — cerca de metade do preço das alternativas, sem assinatura.

# Actor input Schema

## `startUrls` (type: `array`):

Yandex Maps org URLs, e.g. https://yandex.com/maps/org/1124715036/reviews/

## `businessIds` (type: `array`):

Numeric Yandex Maps business IDs (alternative to URLs).

## `maxReviewsPerPlace` (type: `integer`):

Maximum reviews to scrape per place. Set 0 for all.

## `proxyConfiguration` (type: `object`):

Proxy settings. Residential (default) is recommended for Yandex's anti-bot.

## Actor input object example

```json
{
  "startUrls": [
    "https://yandex.com/maps/org/1124715036/reviews/"
  ],
  "businessIds": [],
  "maxReviewsPerPlace": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `reviews` (type: `string`):

No description

# 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 = {
    "startUrls": [
        "https://yandex.com/maps/org/1124715036/reviews/"
    ],
    "maxReviewsPerPlace": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("analytics_tupiniquim/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 = {
    "startUrls": ["https://yandex.com/maps/org/1124715036/reviews/"],
    "maxReviewsPerPlace": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("analytics_tupiniquim/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 '{
  "startUrls": [
    "https://yandex.com/maps/org/1124715036/reviews/"
  ],
  "maxReviewsPerPlace": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call analytics_tupiniquim/yandex-maps-reviews-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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