# Yandex Maps Scraper | Яндекс Карты Парсер: Phones, ИНН, Ratings (`themineworks/yandex-maps-search`) Actor

Scrape Yandex Maps business listings across Russia and the CIS: name, address, phone, website, rating, review count, categories, opening hours and coordinates. No login, no API key.

- **URL**: https://apify.com/themineworks/yandex-maps-search.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 10 total users, 4 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.28 / 1,000 businesses

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Yandex Maps Scraper | Яндекс Карты Парсер: Phones, ИНН, Ratings

[![3 Moscow cafes with tax IDs in 7 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/yandex-maps-search-hero.png)](https://console.apify.com/actors/Mu6QTsmidlJuVBW1R/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 290,000 runs across 310+ public actors. This actor ranks #1 for "яндекс карты" in Apify Store search.

Pick a business category and one of 14 cities in Russia, Belarus and Kazakhstan, and get the businesses Yandex Maps shows for it: name, categories, full address with postcode, coordinates, phone numbers, website, social links, rating, rating and review counts, opening hours, average bill, nearest metro station and, on paid listings, the registered legal entity and Russian tax number (ИНН) behind the storefront. The actor reads Yandex Maps' own search pages over plain HTTP: no Yandex account, no API key and no browser.

### Why choose this actor?

- **The company behind the sign, not just the trading name.** On 1 October our scheduled check returned 3 Moscow restaurants for `кафе` in under 7 seconds, and each one, as a paid placement, carried its registered legal entity and ИНН (for example Галки, run by `ООО "БАНКЕТ"`, ИНН `7716828550`). You can match those rows against a company registry directly.
- **More than one screen of results.** Yandex shows about 24 businesses per map view, and its page numbers mostly repeat the same ones. The actor moves the map instead: it walks a grid of map tiles outward from the city centre, so the most central businesses arrive first and a larger `maxItems` keeps adding new ones, up to 1,000 per run.
- **$0.40 per 1,000 businesses on every plan.** A business found on two overlapping tiles or by two queries is delivered and charged once, and with `monitorMode` on, scheduled runs charge only for businesses your account has not received before.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/Mu6QTsmidlJuVBW1R/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Leads and business directories family:** [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [JustDial Scraper](https://apify.com/themineworks/justdial-business?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [IndiaMART Scraper](https://apify.com/themineworks/indiamart-suppliers?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Paste this into the JSON tab of the input page and press Start:

```json
{
  "queries": ["кафе"],
  "city": "moscow",
  "maxItems": 10
}
```

You get 10 central Moscow cafes and restaurants, usually in under a minute (our 3 business checks took 6 to 59 seconds).

Give `queries` as business categories or names, one per line in the Console form or an array of strings in JSON. Russian finds far more than English, because Yandex indexes businesses by their Russian category names: use `кафе`, `аптека`, `стоматология` or `автосервис` rather than cafe or pharmacy. `city` is one of 14 city keys: `moscow`, `spb`, `novosibirsk`, `yekaterinburg`, `kazan`, `nizhny`, `chelyabinsk`, `samara`, `rostov`, `ufa`, `krasnoyarsk`, `minsk`, `almaty` or `astana`. `maxItems` caps the businesses across all queries.

Apify's free plan includes $5 of credit every month, which covers about 12,000 businesses at this actor's price ($0.0004 a business plus the $0.005 start fee, in runs of 1,000).

#### Copy to your AI assistant

```
themineworks/yandex-maps-search on Apify. Searches Yandex Maps by category or name in one of 14 cities (Russia, Belarus, Kazakhstan) and returns one row per business with name, categories, address, postcode, coordinates, phones, website, social links, rating, review count, opening hours, average bill, nearest metro, and on paid placements the legal entity and Russian tax ID (tax_id). Call ApifyClient("TOKEN").actor("themineworks/yandex-maps-search").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: queries (string[], Russian works best, e.g. "кафе", "аптека"). Optional: city (exactly one of moscow, spb, novosibirsk, yekaterinburg, kazan, nizhny, chelyabinsk, samara, rostov, ufa, krasnoyarsk, minsk, almaty, astana; default moscow; any other value silently searches Moscow), maxItems (1 to 1000, default 50), monitorMode (default false; deliver and charge only businesses this account has not received before). Rows with _type "summary" or "info" are run reports and are never billed. Full spec: GET https://api.apify.com/v2/acts/themineworks~yandex-maps-search/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **30 fields per business.** IDs and names, the primary category plus every category, full and short address, country, postcode, coordinates, all phones, website, social links, rating, rating count, review count, open status, opening hours, the "open until" line, average bill, nearest metro and its distance, legal entity, tax ID, a paid placement flag and a link to the listing.
- **Map tiles instead of page numbers.** Measured when the actor was built: four result pages at one spot gave 31 unique businesses, while four neighbouring map positions gave 78. The actor walks 25 to 169 tiles per query (2 to 6 rings around the centre, sized from your `maxItems`) and stops a query after 4 tiles in a row add nothing new.
- **Registered company and ИНН on paid placements.** Yandex publishes the advertiser's legal entity and tax number on promoted listings, and the actor copies both, with `is_advert` marking which rows are paid.
- **14 cities.** Moscow, Saint Petersburg, Novosibirsk, Yekaterinburg, Kazan, Nizhny Novgorod, Chelyabinsk, Samara, Rostov-on-Don, Ufa, Krasnoyarsk, Minsk, Almaty and Astana.
- **Plain HTTP on the datacenter proxy.** Each tile is one request for a server rendered page whose embedded JSON already carries phones, ratings, hours and coordinates. No browser and no residential proxy, which is what keeps the price at $0.40 per 1,000.
- **New-listing monitor.** `monitorMode` remembers the newest 50,000 business IDs your account has received from this actor and skips them on the next run, before any charge.

### How to use it

#### Basic: one category in one city

```json
{
  "queries": ["стоматология"],
  "city": "spb",
  "maxItems": 200
}
```

Dental clinics in Saint Petersburg, most central first.

#### A whole vertical in one run

```json
{
  "queries": ["стоматология", "стоматологическая клиника", "ортодонт"],
  "city": "kazan",
  "maxItems": 500
}
```

The queries share one `maxItems` budget and run in order. A clinic found by two of the queries, or on two neighbouring tiles, is delivered and charged once.

#### B2B list with legal entities for registry matching

```json
{
  "queries": ["автосервис", "шиномонтаж"],
  "city": "yekaterinburg",
  "maxItems": 1000
}
```

Filter the rows on `is_advert` equal to true to get the businesses that carry `legal_entity` and `tax_id`, then match `tax_id` against a company registry for size, status and directors. The other rows still have phones, websites and addresses.

#### Weekly new-business watch

```json
{
  "queries": ["кофейня"],
  "city": "almaty",
  "maxItems": 1000,
  "monitorMode": true
}
```

Save it as a task and schedule it weekly (for example `0 7 * * 1`). The first run sets the baseline; each later run delivers and charges only businesses your account has not received from this actor before, and the summary row reports `already_delivered`.

**One monitor memory per account.** The business IDs `monitorMode` remembers are shared by every monitor-mode run of this actor in your Apify account, whatever the query or city. If you watch several categories, put them in one run's `queries`, or a business delivered to one task will be skipped in another.

#### Competitor density around a point

Run one category with a modest `maxItems` (100 to 200): because tiles spiral out from the city centre, you get the central businesses with their coordinates, ratings and review counts, ready to plot on a map and compare by `rating_count`.

### Input parameters

| Parameter | Type | Default | What it does |
| --- | --- | --- | --- |
| `queries` | array of strings | required (form prefill: `кафе`) | Business categories or names. Trimmed, duplicates removed, run in order. Russian returns far more than English. |
| `city` | string (one of 14 keys) | `moscow` (also the form prefill) | `moscow`, `spb`, `novosibirsk`, `yekaterinburg`, `kazan`, `nizhny`, `chelyabinsk`, `samara`, `rostov`, `ufa`, `krasnoyarsk`, `minsk`, `almaty` or `astana`. Through the API, use the key exactly: any other value, including `Moscow` with a capital letter or `Saint Petersburg`, silently searches Moscow. |
| `maxItems` | integer (1 to 1,000) | `50` | Most businesses to deliver across all queries. Also sets how far the tile grid reaches (2 rings for small runs, up to 6 for large ones). |
| `monitorMode` | boolean | `false` | Deliver and charge only businesses this account has not received from this actor before. See "One monitor memory per account" above. |

**Run options.** The default timeout is 900 seconds and the default memory is 1 GB. Each tile is one request with up to 60 seconds to answer and one retry; most answer in a few seconds. If a run reaches its timeout, it stops 15 seconds early, keeps every business already delivered and adds a summary row with `ended_on_deadline: true`. Memory can be lowered to 512 MB; the start fee is one event either way.

### What data do you get?

One row per business. Fields Yandex does not have for a listing are left out of that row rather than sent as `null`; the list fields are always present and may be empty.

**The business**: `business_id` (Yandex organisation ID), `name`, `category` (the first category), `categories` (all of them), `status` (such as `open`), `maps_url` (the listing on Yandex Maps).

**Where it is**: `address` (full address with city), `short_address`, `country`, `postal_code`, `longitude`, `latitude`, `nearest_metro`, `nearest_metro_distance` (walking distance as Yandex writes it, such as `117 м`).

**How to reach it**: `phone` (the first number) and `phones` (all of them), `website`, `social_links` (Telegram, VK, WhatsApp, YouTube and other links the listing shows).

**Reputation**: `rating` (out of 5), `rating_count` (how many people rated it), `review_count` (how many wrote a review).

**Hours and spend**: `working_hours` (the weekly schedule as Yandex prints it), `currently` (the live "open until" line at the time of the run), `average_bill` (the typical spend band on venues that publish one, in roubles). Yandex writes time and price ranges with a dash character between the two values, and the actor keeps that text unchanged.

**The company behind it**: `legal_entity` and `tax_id` (registered name and ИНН), present on paid placements, and `is_advert` (`true` on a paid placement).

**Where it came from**: `search_query`, `search_city`, `scraped_at`.

On paid placements, `website` usually carries Yandex's ad tracking parameters (`utm_source`, `yclid` and similar); cut the query string if you only want the domain.

Each run ends with a `_type: "summary"` row (`city`, `queries`, `delivered`, `already_delivered`) and, when something was delivered, a `_type: "info"` row. Neither is a business and neither is ever charged. Skip rows that have a `_type` field when you load the data.

#### Stable fields for automations

These 16 fields were present in every business row we sampled from the live build. The 3 list fields and `is_advert` are always written, even when empty or false.

| Field | What it holds |
| --- | --- |
| `business_id` | Yandex organisation ID; the key for deduplication and monitor mode |
| `name` | Business name |
| `category` | First category |
| `categories` | All categories, as a list |
| `address` | Full address |
| `short_address` | Street and number |
| `country` | Country |
| `longitude` | Longitude (number) |
| `latitude` | Latitude (number) |
| `phones` | All phone numbers, as a list |
| `social_links` | Social profile links, as a list |
| `maps_url` | Link to the listing on Yandex Maps |
| `is_advert` | `true` on a paid placement |
| `search_query` | The query that found it |
| `search_city` | The city searched, as a name such as `Moscow` |
| `scraped_at` | ISO timestamp when the row was captured |

We will not rename these fields. New fields may be added over time; existing ones keep their names.

#### Output examples

Real rows from our scheduled run of the live build on 1 October 2026 (`кафе`, `moscow`, `maxItems: 3`). `working_hours`, `currently` and `average_bill` are left out of these examples, and the tracking parameters are cut from `website`.

A paid placement with its legal entity and tax ID:

```json
{
  "business_id": "115736401897",
  "name": "Галки",
  "category": "Ресторан",
  "categories": ["Ресторан", "кафе", "бар"],
  "address": "Москва, Страстной бульвар, 4, стр. 3",
  "short_address": "Страстной бул., 4, стр. 3",
  "country": "Россия",
  "postal_code": "125009",
  "longitude": 37.608719,
  "latitude": 55.764844,
  "phone": "+7 (930) 036-22-71",
  "phones": ["+7 (930) 036-22-71", "+7 (930) 036-23-21", "+7 (495) 149-81-22"],
  "website": "https://galki.moscow/",
  "social_links": ["https://wa.me/79912783042", "https://www.youtube.com/channel/UCd_4YGVKnM_uNh5nvlUFB-Q", "https://t.me/galkireserve", "https://vk.ru/galki_moscow"],
  "rating": 4.9,
  "rating_count": 9470,
  "review_count": 5157,
  "status": "open",
  "nearest_metro": "Чеховская",
  "nearest_metro_distance": "117 м",
  "legal_entity": "ООО \"БАНКЕТ\"",
  "tax_id": "7716828550",
  "maps_url": "https://yandex.ru/maps/org/galki/115736401897/",
  "is_advert": true,
  "search_query": "кафе",
  "search_city": "Moscow",
  "scraped_at": "2026-10-01T09:03:51.737Z"
}
```

A second restaurant from the same run (trimmed further), with a single phone and a perfect rating:

```json
{
  "business_id": "119336995368",
  "name": "Гвидон",
  "category": "Ресторан",
  "categories": ["Ресторан"],
  "address": "Москва, Большая Никитская улица, 5",
  "postal_code": "125009",
  "longitude": 37.608571,
  "latitude": 55.75539,
  "phone": "+7 (495) 258-08-88",
  "phones": ["+7 (495) 258-08-88"],
  "website": "https://gvidon.wrf.su/",
  "rating": 5,
  "rating_count": 6120,
  "review_count": 2831,
  "nearest_metro": "Александровский сад",
  "nearest_metro_distance": "490 м",
  "legal_entity": "ООО \"ПЛЯЖ\"",
  "tax_id": "2367001901",
  "maps_url": "https://yandex.ru/maps/org/gvidon/119336995368/",
  "is_advert": true,
  "search_query": "кафе",
  "search_city": "Moscow",
  "scraped_at": "2026-10-01T09:03:51.580Z"
}
```

The summary row of the same run (never charged):

```json
{
  "_type": "summary",
  "city": "Moscow",
  "queries": "кафе",
  "delivered": 3,
  "already_delivered": 0,
  "scraped_at": "2026-10-01T09:03:51.797Z"
}
```

### Pricing

Pay per event: you pay for each business delivered to your dataset, plus a small start fee per run. The price is the same on every Apify plan.

| Event | Free | Bronze | Silver | Gold and above |
| --- | --- | --- | --- | --- |
| `business-scraped`, per business | $0.0004 | $0.0004 | $0.0004 | $0.0004 |
| `business-scraped`, per 1,000 businesses | $0.40 | $0.40 | $0.40 | $0.40 |
| `apify-actor-start`, per run | $0.005 per GB of run memory, minimum one event | same | same | same |

**The start fee, exactly.** Apify's `apify-actor-start` event is charged once when a run starts, at $0.005 for each GB of memory the run uses, with a minimum of one event. This actor runs on 1 GB by default, so a default run pays $0.005. At 512 MB it is still one event, $0.005.

**Worked examples.** 200 dental clinics cost $0.08 plus $0.005. A full 1,000 business run costs $0.40 plus $0.005. A weekly monitor run that finds 30 new businesses costs $0.012 plus $0.005.

**Never charged:** a business found on two tiles or by two queries (charged once), businesses skipped by monitor mode, failed or empty tiles and their retries, and the `summary` and `info` rows. A run that delivers nothing pays only the start fee.

There is no scheduled price change for this actor. The Pricing tab on this page always shows the rate for your plan; if it and this table ever differ, the Pricing tab is right.

### FAQ

**What is Yandex Maps?**
Yandex Maps is the main map and business directory in Russia and much of the Russian speaking world, where Google Maps has thin business data. Its listings carry phones, websites, hours, ratings and reviews. This actor reads its public search pages, the same ones any visitor sees without signing in.

**Which cities can I search?**
The 14 in the city list: Moscow, Saint Petersburg, Novosibirsk, Yekaterinburg, Kazan, Nizhny Novgorod, Chelyabinsk, Samara, Rostov-on-Don, Ufa, Krasnoyarsk, Minsk, Almaty and Astana. Other cities cannot be searched yet, and through the API a value that is not one of the 14 keys falls back to Moscow without an error, so check `search_city` in the rows. Ask for a city on the Issues tab.

**How many businesses can I get?**
Up to 1,000 per run. Each query walks up to 169 map tiles around the centre (6 rings) and stops early once 4 tiles in a row add nothing new. A very broad query in a dense centre can fill the grid before it runs out of businesses; split it into narrower queries (`кофейня`, `ресторан`, `столовая`) for more.

**How often do rows have a legal entity and tax ID?**
Only on paid placements, which `is_advert` marks. In our scheduled checks the first 3 results for `кафе` in Moscow were all paid placements and all carried both fields, but the share across a whole run depends on how many businesses in your category advertise on Yandex. Rows without a paid placement simply have no `legal_entity` or `tax_id` field.

**Should I search in Russian or English?**
Russian, for anything generic. Yandex indexes businesses by their Russian category names, so `аптека` finds far more pharmacies than `pharmacy`. English works for international brand names.

**Are the phone numbers real?**
They are the numbers each business publishes on its Yandex listing, copied as shown.

**How fresh is the data?**
Every run reads Yandex Maps live; nothing is cached between runs. `currently` is the open or closed line at the moment of the run.

**Do I need a Yandex account, cookies or an API key?**
No. You need only an Apify account.

**Which proxy does it use?**
Apify's datacenter proxy, included in the price. Yandex Maps answers it normally, so no residential proxy is needed.

**Can I schedule it and get only new businesses?**
Yes. Save your input as a task, add a schedule in Apify Console (Schedules, then Create new), and set `monitorMode: true`. Each run then delivers and charges only businesses your account has not received from this actor before. The memory is shared by all monitor-mode runs of this actor in your account.

**How do I export the data?**
From the run's Storage tab as JSON, CSV, Excel, XML or HTML, or through the Apify API. List fields such as `phones` become numbered columns in CSV and Excel.

**Can I use it from Claude, ChatGPT or another AI assistant?**

- Connector URL: `https://mcp.apify.com/?tools=themineworks/yandex-maps-search`.
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http yandex-maps-search "https://mcp.apify.com/?tools=themineworks/yandex-maps-search"`.

**Is it legal to scrape Yandex Maps?**
The actor reads only public business listings that anyone can see on Yandex Maps without logging in, and it does not get past any login or paywall. Phone numbers and a sole trader's name can still be personal data, so you are responsible for how you use them, including Yandex's terms and data protection laws such as Russia's 152-FZ, GDPR and CCPA, and for having a lawful basis before you contact anyone. This is general information, not legal advice.

### Integrations

- **Google Sheets:** export a run to a sheet, or use Apify's Google Sheets integration to append each monitor run's new businesses.
- **Make, Zapier and n8n:** use the Apify app or node to start a run and send new businesses to your CRM, a call list or a Telegram channel.
- **Webhooks:** have Apify call your URL when a run succeeds, then read the dataset.
- **API and client libraries:** start runs and read datasets from Python, JavaScript or any HTTP client. The "Copy to your AI assistant" block above has the exact call.
- **MCP clients:** Claude, ChatGPT, Cursor, VS Code and Claude Code can call the actor as a tool through `https://mcp.apify.com`.

For a second source on the same cities, [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) returns phones, published emails and chain sizes from 2GIS.

### More from The Mine Works

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [JustDial Scraper](https://apify.com/themineworks/justdial-business?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [2GIS Places Scraper](https://apify.com/themineworks/2gis-places-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [IndiaMART Scraper](https://apify.com/themineworks/indiamart-suppliers?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Contact Details Scraper](https://apify.com/themineworks/website-contact-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [US Business Registry](https://apify.com/themineworks/us-state-business-registry?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Scraper](https://apify.com/themineworks/google-maps-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Yellow Pages Scraper](https://apify.com/themineworks/yellowpages-us?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Lead Generation MCP](https://apify.com/themineworks/lead-generation-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Reviews Scraper](https://apify.com/themineworks/google-maps-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [data.gov.in Scraper](https://apify.com/themineworks/india-data-gov-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Hirist Jobs Scraper](https://apify.com/themineworks/hirist-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [World Bank Trade Scraper](https://apify.com/themineworks/global-trade-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [Tennis Match & Player Data Scraper](https://apify.com/themineworks/tennis-match-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Hotels Prices Scraper](https://apify.com/themineworks/google-hotels-prices-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LandWatch Scraper](https://apify.com/themineworks/landwatch-land-for-sale-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Capterra Reviews Scraper](https://apify.com/themineworks/capterra-software-reviews-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Need another city or a field we do not return yet? Open an issue on the Issues tab of this page with your input and the run ID, and we will reply there. To ask for a new data source, email dmineworks@gmail.com. A guide for this actor also lives at [themineworks.com](https://themineworks.com/actors/yandex-maps-search/).

*Yandex Maps Scraper turns a category and a city into business rows with phones, ratings, hours and, on paid listings, the legal entity and ИНН, at $0.40 per 1,000.*

# Actor input Schema

## `queries` (type: `array`):

Business types or names, in Russian or English. Russian returns far more results on Yandex, e.g. "кафе" rather than "cafe".

## `city` (type: `string`):

Which city to search in, e.g. Moscow or Saint Petersburg. Yandex Maps returns different listings per city, so pick the one closest to where your target businesses actually operate.

## `maxItems` (type: `integer`):

Maximum businesses to return across all queries. Default 50, maximum 1000.

## `monitorMode` (type: `boolean`):

Run on a schedule and get ONLY businesses not delivered in a previous run, so a standing watch bills for new listings instead of the same ones every time. Keep the input the same across runs.

## Actor input object example

```json
{
  "queries": [
    "кафе"
  ],
  "city": "moscow",
  "maxItems": 50,
  "monitorMode": false
}
```

# Actor output Schema

## `results` (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 = {
    "queries": [
        "кафе"
    ],
    "city": "moscow",
    "maxItems": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/yandex-maps-search").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 = {
    "queries": ["кафе"],
    "city": "moscow",
    "maxItems": 50,
}

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

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "кафе"
  ],
  "city": "moscow",
  "maxItems": 50
}' |
apify call themineworks/yandex-maps-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/yandex-maps-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Mu6QTsmidlJuVBW1R/builds/b6iUW5Gu8e0aVUMVK/openapi.json
