# Yandex Maps Scraper: Places, Phones and Reviews

> Yandex Maps scraper: enter a search term and a city, business IDs or links. Get phones, websites, ratings, hours and review text. No login.

URL: https://cliqtomedia.com/actors/yandex-maps-scraper/

Category: Real estate, travel & cars · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/yandex-maps-scraper?fpr=cliqto

Get public business places or reviews from Yandex Maps. Each place row has the name, category, rating, address, phone, website and hours. Review mode gives one row per review.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `кафе` in Search terms. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Give this Actor a search term and a city, business IDs or Yandex Maps links. It returns public business places or separate review rows from [Yandex Maps](https://yandex.com/maps), with phones, websites, ratings, hours and review text, and you need no login or API key.

- Places saves one row per business: name, category, rating, address, phone, website, hours, and up to 50 reviews inside the row.
- Reviews saves one row per review: rating, text, date, public reviewer details and the owner reply.
- Monitor saves new businesses and changes in ratings and review counts since the last run.

### Good for

- You need a list of local businesses with phones and websites for sales outreach.
- You want to read customer reviews of your business or of other businesses, in Russian, Kazakh or other languages.
- You want a weekly list of new businesses in a city, or of rating changes.
- You want to compare categories or chains across cities in a spreadsheet.

## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Business place | $0.0027 (from $0.00189 on paid Apify plans) | A saved business place, including the selected reviews and public details. |
| Review | $0.0026 (from $0.00182 on paid Apify plans) | One saved review row in reviews mode. |
| Source page | $0.0026 (from $0.00182 on paid Apify plans) | One completed source lookup, including empty searches and unavailable business IDs. Source errors are not charged. |
| Start fee | $0.0001 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |

- One result: about $0.0028.
- 1,000 results: about $2.70.
- Every day 100 results, for 30 days: about $8.10 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 8 November 2026. Current price: https://apify.com/cliqtomedia/yandex-maps-scraper?fpr=cliqto

## Questions

### Do I need a Yandex account or API key?

No. The Actor reads public data and asks for no login, key or cookies.

### Does it collect all reviews of a business?

Not always. Yandex Maps gives a limited window. You can get up to 2,400 per business.

### Which countries does it work for?

It works for places that Yandex Maps covers. We tested it in Kazakhstan and Russia.

### Can I get more than one search window of results?

Yes, with more searches. Add terms, cities or small map areas with `coordinates` and `viewportSpan`. Use `excludeBusinessIds` to skip businesses that you already have, so that you do not pay for them twice.

### Why does a place cost more when reviews are on?

Loading reviews, menus and posts takes more source lookups, and each lookup is charged. Set `includeReviews` to `false` if you need only contacts. The cost examples in Pricing show both cases.

### Are the data fresh and complete?

Each row shows the public record at the time in `fetchedAt`. Some businesses do not show phones, sites or hours, so these fields can be `null`. Check `status` on each row and in `RUN_SUMMARY`.

## Data fields

- `recordType` (string): Record type from the public Yandex Maps record. Null or empty when the source does not expose it.
- `status` (string): Record outcome. See RUN_SUMMARY for run-level limits and errors.
- `orgId` (string): Organization ID from the public Yandex Maps record. Null or empty when the source does not expose it.
- `businessId` (string): Organization ID from the public Yandex Maps record. Null or empty when the source does not expose it.
- `name` (string): Business name from the public Yandex Maps record. Null or empty when the source does not expose it.
- `title` (string): Business name from the public Yandex Maps record. Null or empty when the source does not expose it.
- `description` (string): Description from the public Yandex Maps record. Null or empty when the source does not expose it.
- `shortTitle` (string): Short title from the public Yandex Maps record. Null or empty when the source does not expose it.
- `category` (string): Category from the public Yandex Maps record. Null or empty when the source does not expose it.
- `categories` (array): Categories from the public Yandex Maps record. Null or empty when the source does not expose it.
- `categoryIds` (array): Category ids from the public Yandex Maps record. Null or empty when the source does not expose it.
- `rating` (number): Business or review rating from 1 to 5.
- `ratingCount` (number): Number of all star ratings, including ratings without written text.
- `reviewsCount` (number): Number of written reviews reported by the source.
- `reviewCount` (number): Written reviews count from the public Yandex Maps record. Null or empty when the source does not expose it.
- `address` (string): Address from the public Yandex Maps record. Null or empty when the source does not expose it.
- `additionalAddress` (string): Additional address from the public Yandex Maps record. Null or empty when the source does not expose it.
- `country` (string): Country from the public Yandex Maps record. Null or empty when the source does not expose it.
- `region` (string): Region from the public Yandex Maps record. Null or empty when the source does not expose it.
- `city` (string): City from the public Yandex Maps record. Null or empty when the source does not expose it.
- `street` (string): Street from the public Yandex Maps record. Null or empty when the source does not expose it.
- `house` (string): House from the public Yandex Maps record. Null or empty when the source does not expose it.
- `postalCode` (string): Postal code from the public Yandex Maps record. Null or empty when the source does not expose it.
- `phone` (string): Phone from the public Yandex Maps record. Null or empty when the source does not expose it.
- `phones` (array): Phones from the public Yandex Maps record. Null or empty when the source does not expose it.
- `website` (string): Website from the public Yandex Maps record. Null or empty when the source does not expose it.
- `websites` (array): Websites from the public Yandex Maps record. Null or empty when the source does not expose it.
- `socialLinks` (array): Social links from the public Yandex Maps record. Null or empty when the source does not expose it.
- `lat` (number): Latitude from the public Yandex Maps record. Null or empty when the source does not expose it.
- `lng` (number): Longitude from the public Yandex Maps record. Null or empty when the source does not expose it.
- `latitude` (number): Latitude from the public Yandex Maps record. Null or empty when the source does not expose it.
- `longitude` (number): Longitude from the public Yandex Maps record. Null or empty when the source does not expose it.
- `url` (string): Url from the public Yandex Maps record. Null or empty when the source does not expose it.
- `businessStatus` (string): Business status from the public Yandex Maps record. Null or empty when the source does not expose it.
- `isOpenNow` (boolean): Is open now from the public Yandex Maps record. Null or empty when the source does not expose it.
- `workingHoursText` (string): Working hours text from the public Yandex Maps record. Null or empty when the source does not expose it.
- `schedule` (array): Schedule from the public Yandex Maps record. Null or empty when the source does not expose it.
- `isVerifiedOwner` (boolean): Is verified owner from the public Yandex Maps record. Null or empty when the source does not expose it.
- `features` (array): Features from the public Yandex Maps record. Null or empty when the source does not expose it.
- `featureGroups` (array): Feature groups from the public Yandex Maps record. Null or empty when the source does not expose it.

## Input settings

- `mode` (string): Choose business places, separate review rows, or changes in ratings and review counts.
- `query` (array): One or more business names or types. Results are shared across the run limit.
- `location` (string): City or area for the search. If you leave it empty, the Actor uses Алматы. A city in a search term may override this area.
- `locations` (array): Search the same terms in each city. Duplicate businesses are returned once.
- `category` (string): Add a business category as another search term.
- `businessIds` (array): Numeric organization IDs from Yandex Maps business page URLs.
- `startUrls` (array): HTTPS Yandex Maps organization pages, short links, or search pages. Other websites are rejected.
- `maxItems` (integer): Total result limit for the whole run. In reviews mode this counts reviews. For large searches, turn reviews off and increase the run timeout and maximum charge. Source windows may return fewer rows; use several queries or areas.
- `maxResults` (integer): Optional older name for Maximum result rows. If you set it, it overrides Maximum result rows.
- `includeReviews` (boolean): Add review text, dates, ratings, replies and public reviewer information to each business.
- `maxReviews` (integer): Maximum matching reviews per business. In Reviews mode: up to 2400 (Yandex exposes up to 600 per order; All combines four orders). Inside Places and Monitor rows: up to 50 per business, so use Reviews mode for more. A reported source total may be higher than accessible public reviews.
- `reviewSort` (string): Use source relevance, newest or star order. All combines four public source orders. Oldest sorts the accessible source window; rows may be partial when older reviews are outside it.
- `reviewMinRating` (number): Keep reviews with at least this many stars.
- `reviewMaxRating` (number): Keep reviews with at most this many stars.
- `reviewsFrom` (string): Keep reviews updated on or after this date. Use an ISO date or timestamp.
- `reviewsTo` (string): Keep reviews updated through this date. A date without a time includes the full UTC day.
- `onlyWithText` (boolean): Skip ratings that have no review text.
- `replyFilter` (string): Keep all reviews, reviews with an owner reply, or reviews without a reply.
- `language` (string): Language for addresses, categories, hours and feature names. Review text keeps its original language.
- `maxPhotos` (integer): Maximum public photo links to return. Images are not downloaded.
- `maxPosts` (integer): Maximum public business news posts to return.
- `includeMenu` (boolean): Read the public menu tab and include item names, prices, currencies and photo links.
- `enrichBusinessData` (boolean): Read the full menu and try role-based email addresses on the business website. Website checks are best effort; see emailStatus.
- `excludeBusinessIds` (array): Skip organizations you already collected. Skipped rows have no result charge.
- `onlyNew` (boolean): Return only new places or reviews using saved history. Monitor mode already returns changes and takes precedence over this option.

## Step by step on Apify

1. Open the Input tab. Enter what to search in Search terms (box 1). The form starts with `кафе`.
2. Enter a place in City or area (box 2). The form starts with `Алматы`.
3. Keep Maximum result rows at `10` for a first test (box 3).
4. Click the green Start button at the bottom of the page (box 4). It can also read Save & start.
5. Open the Output tab and check Business name, Category, Rating, Written reviews count, Address, Phone and Website in the Places view (box 5).

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Build a local lead list | `query`, `locations`, `includeReviews: false`, `enrichBusinessData` | Place | `name`, `phone`, `website`, `email`, `address` | CSV or Excel export, CRM import |
| Study customer reviews | `mode: reviews`, `businessIds`, `reviewSort: all` | Review | `rating`, `text`, `date`, `businessComment` | Text analysis in a spreadsheet or BI tool |
| Find reviews without a reply | `mode: reviews`, `startUrls`, `replyFilter: unanswered` | Review | `reviewId`, `rating`, `text`, `url` | Slack or Notion summary |
| Track ratings each week | `mode: monitor`, `query`, `location`, `stateName` | Place | `changeType`, `rating`, `reviewsCount` | Apify schedule, webhook |
| Compare a market by city | `query`, `locations`, `filterRating`, `category` | Place | `category`, `rating`, `reviewsCount`, `city` | BI tool, spreadsheet |

## Tips

- Add more terms, cities or small map areas to get more than one search window.
- Set includeReviews to false if you need only contacts. It costs less.
- Use monitor mode on a schedule to see new businesses and rating changes.

## Limits



- Run size: up to 10,000 rows in a run. Big runs need a longer timeout than the default 300 seconds and a higher charge limit.
- Reviews: up to 2,400 per business in reviews mode, and up to 50 inside a place row. Yandex Maps can show fewer than its reported total, so check `reportedReviewsCount` and `reviewsTruncated`. This is not a full review archive.
- Search windows: the source returns a limited window for each search. A broad term in a big city can end with `SEARCH_WINDOW_LIMIT`. Add terms or areas to find more businesses.
- Country scope: works for chain branches in Russia only, and the result can be incomplete.
- Photos and posts: up to 1,000 links per business. The Actor does not download files.
- Emails: the optional website check reads up to 3 pages and keeps role-based company addresses such as sales or info mailboxes. Many businesses have none, so see `emailStatus`.
- History: a history store keeps the latest 100,000 entries. A name that you cannot write to moves to a name of this Actor, as the run log says.
- Freshness: data shows the public record at `fetchedAt`. Yandex Maps can change results, order and fields at any time.

## Sample result

```json
{
  "recordType": "place",
  "status": "complete",
  "orgId": "85901801207",
  "name": "Basilic",
  "category": "Кафе",
  "rating": 4.7,
  "ratingCount": 1937,
  "reviewsCount": 635,
  "address": "Алматы, улица Желтоксан, 115",
  "city": "Алматы",
  "phone": "+77783449000",
  "website": "https://basilic.kz/",
  "lat": 43.252995,
  "lng": 76.938589,
  "url": "https://yandex.ru/maps/org/basilic/85901801207/",
  "workingHoursText": "ежедневно, 8:00 AM–11:00 PM",
  "businessStatus": "open",
  "email": null,
  "reviewsFetched": 50,
  "reviewsTruncated": true,
  "source": "Yandex Maps",
  "searchQuery": "кафе",
  "fetchedAt": "2026-11-04T13:22:42.921Z"
}
```

## Use it from code

Actor ID: `cliqtomedia/yandex-maps-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/yandex-maps-scraper").call(run_input={
    "mode": "places",
    "query": [
        "кафе"
    ]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~yandex-maps-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "places", "query": ["кафе"]}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/yandex-maps-scraper")
result = tool.invoke({"run_input": {"mode": "places", "query": ["кафе"]}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Similar tools

- [OpenStreetMap POI Extractor: Cafes, Shops, Hotels by City](https://cliqtomedia.com/actors/openstreetmap-poi-extractor/)
- [Website Contact Scraper](https://cliqtomedia.com/actors/website-contacts-scraper/)
- [Bulk Email Verifier: MX, Disposable, Role & Typo Check](https://cliqtomedia.com/actors/email-verifier/)
- [OpenTable Reviews & Restaurants Scraper, No Login](https://cliqtomedia.com/actors/opentable-reviews-scraper/)
- [99acres & MagicBricks India Property Scraper - No Login](https://cliqtomedia.com/actors/india-property-listings/)
- [Airbnb Scraper: Listings, Prices, Calendar - No Login](https://cliqtomedia.com/actors/airbnb-scraper/)
