Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
Yandex Maps Reviews Scraper icon

Yandex Maps Reviews Scraper

Scrape Yandex Maps reviews: rating, text, author, date, photos and owner replies. Up to 600 per place. No login or API key. $0.30 per 1,000.

5 from 1 review on Apify 1,873 runs on Apify $0.0003 per review ($0.3 / 1,000)
Run this in the cloudRun on Apify →

Developer & Research Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust startUrls, maxReviewsPerOrganization, maxItems (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0003 per review = $0.3 per 1,000

You are charged forWhenPrice
ReviewOne Yandex Maps review returned, including author, star rating, full text, date, likes, photos and the business owner's reply. Sample rows, error rows and reviews removed by your filters are never charged.$0.0003

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-08, and they are what you are actually charged.

Inputs

FieldWhat it doesType
startUrlsThe organisations whose reviews you want. Paste the page URL (https://yandex.ru/maps/org/niki_dent/55558183898/), the reviews tab (.../reviews/), or just the numeric organisation id (55558183898). A Yandex Maps search URL also works and is expanded into its top organisations.array
maxReviewsPerOrganizationHow many reviews to take from each organisation (1-600). Yandex itself only serves the first 600 reviews of any organisation, so 600 is the ceiling. Reviews come in Yandex's own relevance order, newest and longest first. You are charged per review returned.integer
maxItemsHard cap across every organisation in this run. Use it as a budget stop when you pass in many organisations.integer
searchQueriesOptional. Find organisations by name or category and scrape their reviews, for example "стоматология" or "Osteria Mario". Combine with "City" below. Yandex indexes Russian-language names most completely.array
cityCity for the search terms above. English, Russian or local spelling all work ("Moscow", "Москва", "Almaty", "Istanbul"), as does a numeric Yandex geo id such as 213 (the number in a Yandex Maps link of the city). A name Yandex only matches to businesses, not to a place, is refused instead of being searched somewhere else.string
maxOrganizationsPerQueryHow many organisations each search term contributes before its reviews are scraped.integer
minRatingOnly return reviews rated at least this many stars. Filtered-out reviews are not charged.integer
maxRatingOnly return reviews rated at most this many stars. Set to 2 or 3 to pull complaints only.integer
onlyWithTextSkip star-only ratings with no written review.boolean
onlyWithBusinessReplyKeep only reviews carrying an official reply from the organisation.boolean
newerThanISO date, for example 2026-01-01. Only reviews published on or after this date are returned. Anything that is not a date, such as "2 weeks", is refused before the run reads anything.string
languageLanguage for the organisation name, address and category. Review text is always in the language the reviewer wrote it in.string

What you get

A structured dataset — each result includes fields like:

organizationNameratingauthorNametextpublishedAtlikesbusinessReplyTextphotoCountorganizationUrlauthorProfileUrl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Developer & Research Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

GitHub Scraper iconDeveloper & Research Tools

GitHub Scraper

Search GitHub repos and users: stars, forks, language, topics, licence, plus user bio, company and followers. No token needed. $0.90 per 1,000 rows.

18 use cases

Stack Overflow / Stack Exchange Scraper iconDeveloper & Research Tools

Stack Overflow / Stack Exchange Scraper

Search Stack Overflow and Stack Exchange by keyword or tag. Score, answer count, views, reputation and body text. $2 per 1,000 questions.

2 use cases

Package Registry Scraper (npm + PyPI) iconDeveloper & Research Tools

Package Registry Scraper (npm + PyPI)

Get npm and PyPI package metadata as JSON. Version, license, author, repo, keywords and npm monthly downloads. $2 per 1,000 packages.

2 use cases

arXiv Scraper iconDeveloper & Research Tools

arXiv Scraper

Search arXiv papers by title, author, abstract or category. Get full abstracts, authors, categories, DOI, dates and PDF links. $2 per 1,000 papers.

2 use cases

OpenAlex Scholarly Works Scraper iconDeveloper & Research Tools

OpenAlex Scholarly Works Scraper

Search 250M+ OpenAlex papers with no API key. Get titles, authors, venue, year, citations, DOI, OA links and full abstracts. $2.00 per 1,000 papers.

2 use cases

Crossref Scholarly Works Scraper iconDeveloper & Research Tools

Crossref Scholarly Works Scraper

Search 150M+ papers on Crossref: DOI, title, authors, journal, publisher, date, citations and abstract. No API key. $1.00 per 1,000 works.

2 use cases

See all Developer & Research Tools →

Yandex Maps Reviews Scraper: reviews, ratings and owner replies for any place

Paste a Yandex Maps organisation link and every review comes back as a row: star rating, the full text, who wrote it and their Yandex level, the date, likes, photos, and the owner's reply where there is one. The place itself rides on every row too, so name, address, category, overall rating and total review count are already there. No account, no Yandex API key.

The ceiling first. Yandex serves the first 600 reviews of an organisation and no more. That is Yandex's own limit, not a setting here, so a place with 4,000 reviews gives you 600. They arrive in Yandex's own relevance order, which puts newer and longer reviews first, and Yandex ignores any attempt to reorder them, so the five filters below run here rather than being sent to Yandex.

InputYandex Maps organisation links, ids, or search terms plus a city
OutputOne row per review
Ceiling600 reviews per organisation, Yandex's own limit
Account neededNone, and no Yandex API key
Price$0.30 per 1,000 reviews, flat on every plan

💬 What Yandex Maps Reviews Scraper does

There are two ways to name the places. Paste links, which can be the organisation page (https://yandex.ru/maps/org/niki_dent/55558183898/), its reviews tab, the bare numeric id 55558183898, or a Yandex Maps search link, which is expanded into the organisations it lists. Or skip links and search: put a name or a category into Search terms, add a City, and each term contributes a few organisations whose reviews are then read.

The filters run on the reviews after they arrive, because Yandex ignores filter parameters on this surface. Anything a filter removes is dropped before it reaches your dataset and is not billed, so setting Maximum star rating to 2 to pull complaints only costs you the complaints, not the praise you threw away.

The place card is flattened onto every review row: organizationName, organizationAddress, organizationCategory, organizationRating and organizationReviewCount. Nothing to join.

📥 What you give it

{
  "startUrls": ["https://yandex.ru/maps/org/niki_dent/55558183898/"],
  "maxReviewsPerOrganization": 100,
  "maxItems": 500,
  "maxRating": 3,
  "onlyWithText": true,
  "newerThan": "2026-01-01"
}
FieldDefaultWhat it is
startUrlsbox starts at one example clinicOrganisation page links, reviews-tab links, bare numeric ids, or a Yandex Maps search link.
maxReviewsPerOrganization100Reviews per organisation, 1 to 600.
maxItems500Hard cap across every organisation in the run, up to 50,000. Use it as the budget stop.
searchQueriesnoneOptional. Find organisations by name or category instead of pasting links, like стоматология or Osteria Mario.
citynoneCity for those search terms. English, Russian or the local spelling all work: Moscow, Москва, Almaty, Istanbul. So does its geo id, the number in a Yandex Maps link of the city (213 is Moscow).
maxOrganizationsPerQuery3How many organisations each search term contributes, 1 to 50.
minRating, maxRatingnoneUnder Filters. Keep only reviews in a star range. Set maxRating to 2 or 3 for complaints only.
onlyWithTextoffSkip star-only ratings that carry no written review.
onlyWithBusinessReplyoffKeep only reviews the organisation replied to.
newerThannoneAn ISO date like 2026-01-01. Only reviews at or after it. Something that is not a date, like 2 weeks, is refused before anything is read.
languageautomaticUnder Advanced. The language for the place name, address and category. Review text always stays in the language it was written in.
proxyConfigurationleave it aloneOptional. Only if you want the run to go out through a particular network of your own.

📤 What you get back

A real row from a recent run, with the review and the reply cut short:

{
  "reviewId": "Do3qkCnDnsomk9XhYPTBpIvACtyWNTrH",
  "organizationId": "55558183898",
  "organizationName": "Стоматология на Никитской",
  "organizationAddress": "Москва, Малая Никитская улица, 33",
  "organizationCategory": "Стоматологическая клиника",
  "organizationRating": 5,
  "organizationReviewCount": 82,
  "organizationUrl": "https://yandex.com/maps/org/niki_dent/55558183898/",
  "organizationReviewsUrl": "https://yandex.com/maps/org/niki_dent/55558183898/reviews/",
  "rating": 5,
  "text": "Невероятная клиника, стоматология!! Супер! Врачи настоящие профессионалы!! Очень повезло!...",
  "textLanguage": "ru",
  "hasText": true,
  "publishedAt": "2026-05-14T11:42:41.208Z",
  "publishedAtTimestamp": 1778758961208,
  "authorName": "Сергей К.",
  "authorId": "4w09jt6vf7pee5dq7h36j8aczr",
  "authorLevel": "Знаток города 7 уровня",
  "authorAvatarUrl": "https://avatars.mds.yandex.net/get-yapic/47747/0h-2/islands-200",
  "authorProfileUrl": "https://yandex.com/maps/user/4w09jt6vf7pee5dq7h36j8aczr",
  "likes": 0,
  "dislikes": 0,
  "businessReplyText": "Благодарим вас за такой подробный и эмоциональный отзыв...",
  "businessReplyAt": "2026-05-15T17:39:02.331Z",
  "hasBusinessReply": true,
  "photoUrls": ["https://avatars.mds.yandex.net/get-altay/20218502/2a0000019e26c1d1820a..."],
  "photoCount": 1,
  "videoCount": 0,
  "isPinned": false,
  "position": 1,
  "scrapedAt": "2026-09-21T01:46:12.580Z"
}
FieldWhat it is
reviewIdYandex's own stable id. The right key for deduping across runs.
text, hasTextThe review verbatim, in whatever language it was written. hasText is false on star-only ratings.
publishedAtYandex's timestamp for the review. It moves when the reviewer edits, so an edited old review reads as recent.
authorLevelYandex's own badge text, like Знаток города 7 уровня.
likes, dislikesHow other users voted on the review.
businessReplyText, businessReplyAtThe owner's reply and when it was posted. When there is no reply, hasBusinessReply is false.
photoUrls, photoCount, videoCountPhotos attached to the review, and the counts.
isPinnedWhether Yandex pinned this review to the top of the place's list.
organization*The place card, repeated on every row so you never have to join.

🧾 Reading the output

RowHow to spot itBilled
A reviewIt has a reviewIdyes
The sample row_sample: trueno
A diagnosticIt carries an errorCodeno

There is no charged field on these rows. Filter on reviewId being present.

CodeWhat it means
NO_REVIEWSThat organisation has none.
BAD_URLNot a Yandex Maps organisation link or a usable id. A bare id needs at least six digits.
CITY_NOT_FOUNDThe city could not be placed: Yandex did not know it, matched only businesses with that name, or has no such geo id. Nothing was searched.
BAD_INPUTnewerThan is not a date. Nothing was read.
NO_ORGANIZATIONSA search term matched no organisations in that city.
SEARCH_FAILEDThat search could not be run.
NOT_FOUNDYandex has no such organisation.
CAPTCHAYandex asked for a human check instead of serving the page. Worth another run.
NO_REVIEW_BLOCK, NO_STATEThe page loaded but the reviews were not in it.
FETCH_FAILED, HTTP_ERRORYandex was unreachable or answered badly.

If your filters remove every review for an organisation, you get zero rows for it and no diagnostic. That is a filter doing its job, not a failure.

▶️ How to run it

1. Open Yandex Maps Reviews Scraper and click Try for free. 2. Paste organisation links into Yandex Maps organisation URLs, one per line. Or leave that empty, open Find organisations by search, and type a term plus a city. 3. Set Maximum reviews per organisation. Start at 20 to see what the rows look like. 4. Open Filters if you only want a star range, written reviews, replied-to reviews, or reviews after a date. 5. Click Start, then download the dataset as JSON, CSV or Excel, or read it from the Apify API.

💰 How much does it cost?

$0.30 per 1,000 reviews. Flat on every Apify plan, with no volume tiers.

One billed row per review delivered. The sample row is not billed, diagnostic rows are not billed, an organisation with no reviews produces no billed rows, and anything your filters remove is dropped before the dataset and never billed.

💡 What people use it for

  • Reputation monitoring for your own locations, on a schedule, with newerThan set to the last run

and reviewId for deduping.

  • Pulling complaints only, by setting Maximum star rating to 2 or 3, and reading what actually

goes wrong at a place.

  • Checking how responsive a business is, using hasBusinessReply and the gap between

publishedAt and businessReplyAt.

  • Surveying a category across a city, by searching стоматология in Moscow and reading every

organisation's reviews in one run.

  • Feeding review text into a translation or sentiment step of your own, with textLanguage already

filled in.

🚧 What it does not do

  • 600 reviews per organisation is the hard ceiling. Yandex stops serving past that point, so a

place with thousands gives you the first 600 in its own order.

  • You cannot reorder them. Yandex ignores sort parameters on this surface, so newest-first is

not available.

  • No reviewer contact details. Name, level, avatar and profile link are what Yandex publishes.
  • publishedAt follows Yandex's own timestamp, which moves when a review is edited. An edited

old review can look recent and will pass newerThan.

  • Nothing is translated. language changes the place name, address and category only.
  • A city name has to be a place to Yandex. One it only matches to businesses is refused rather

than searched somewhere else: Springfield came back as shops in Belgrade. A geo id always works.

  • Rows are a snapshot. Ratings, reply text and review counts all move.
  • A big run can come back short. Yandex rate-limits hard, and a page it will not serve becomes

an uncharged diagnostic rather than a gap passed off as complete. Only delivered review rows are billed.

🧭 Which Yandex scraper do you need?

If you wantUse
Reviews for a placeThis one
The places themselves, with coordinates, phone and hoursYandex Maps Scraper
Yandex search results by keywordYandex Search Engine Scraper
Products and prices on Yandex MarketYandex Market Scraper
The same idea on 2GIS2GIS Reviews Scraper

❓ Questions people ask

Do I need a Yandex API key? No. Nothing to apply for and no quota to watch.

Can I get more than 600 reviews for one place? No. Yandex stops serving them past 600, whatever you set.

Can I get the newest reviews only? Set newerThan to a date. You cannot ask Yandex to sort by date, so the run reads its relevance order and keeps what matches.

Which countries does this cover? Wherever Yandex Maps has an organisation directory, which includes Russia, Kazakhstan, Turkey and the wider CIS.

Can I schedule it? Yes. reviewId is stable, so diffing runs shows what is new.

Is this legal? These are public reviews. They carry personal data, which GDPR and similar laws cover, so have a reason for collecting it. Apify's write-up on scraping and the law is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the organisation link or the search term and city you used, plus the run ID. The errorCode on the diagnostic row usually names the problem on its own.