Yandex Maps Reviews Scraper
Pricing
from $4.00 / 1,000 review scrapeds
Yandex Maps Reviews Scraper
Scrape public Yandex Maps (Яндекс Карты) place reviews by org URL or business ID. Returns author, rating, text, date, photos, and business replies. Cookieless HTTP. MCP-ready. Do not use for place search — see yandex-maps-scraper.
Pricing
from $4.00 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
36 minutes ago
Last modified
Categories
Share
Scrape public reviews from Yandex Maps (Яндекс Карты) organization pages. Paste place URLs or numeric org IDs and get one dataset row per review: author, star rating, full text, date, photos, likes/dislikes, and business replies — with place name, address, and aggregate rating on every row.
Built for reputation teams, local SEO agencies, and AI agents covering Russia, Turkey, Kazakhstan, and the CIS, where Yandex Maps is a primary local-review surface.
Best fit
Use this Actor when you already have Yandex Maps place URLs or org IDs and need public review text plus ratings in a flat, billable dataset for MCP, CRM, or spreadsheet workflows. It works well for monitoring customer feedback on known places, exporting reviews for sentiment analysis across a chain, and feeding agent pipelines with place context on every row.
Pair it with Yandex Maps Scraper when you still need place search, phones, or websites before review export. For Google Maps review workflows, continue with Google Maps Reviews Scraper.
Practical scenario
A restaurant group pastes a Tanuki reviews URL, sets maxReviewsPerPlace to 50, and keeps Residential proxy on. The run returns up to 50 public reviews with author, rating, text, optional photos, and owner replies. Places that resolve with zero matching public reviews finish SUCCEEDED / VALID_EMPTY and skip review-scraped charges, then the team exports the dataset for ops follow-up.
Quick start input
{"startUrls": [{ "url": "https://yandex.com/maps/org/tanuki/1036014863/reviews/" }],"maxReviewsPerPlace": 5,"maxPlaces": 1,"reviewSort": "relevance","includePhotos": true}
businessIds: ["1036014863"] works the same when you already have org IDs from a place scrape.
Input reference
| Field | Type | What it controls |
|---|---|---|
startUrls | array | Yandex Maps org / reviews URLs (yandex.ru, yandex.com, maps.yandex.ru, …). |
businessIds | array | Numeric organization IDs. Deduped with URLs. |
maxReviewsPerPlace | integer | Cap per place (default 50, max 2000). Prefill 5 for cheap tests. |
maxPlaces | integer | Cap on unique places after dedupe (default 50). |
reviewSort | enum | relevance (Yandex order) or local re-sort: newest / highest / lowest. |
minRating / maxRating | integer | Optional 1–5 filters after fetch (0 = off). |
includePhotos | boolean | Attach public photo URLs (default true). |
language | enum | Default host for bare IDs: en / ru / tr. |
proxyConfiguration | object | Optional Apify Proxy. Prefill uses Residential. |
What data you receive
One dataset item is one public review.
| Field | Meaning |
|---|---|
reviewId, authorName, rating, text | Core public review content. |
updatedTime, photoUrls, businessReply | Freshness, media, and owner reply when present. |
placeName, placeUrl, placeAddress, placeRating, businessId | Place context on every row. |
scrapedAt | Collection time for provenance. |
{"reviewId": "yqWNI5tPzbe4mbu_eZwQ5kVJnnEGSB_x","authorName": "Елизавета","rating": 5,"text": "Недавно посетил ресторан «Тануки»…","updatedTime": "2026-03-18T12:55:09.331Z","businessReply": "Здравствуйте, Елизавета…","photoUrls": ["https://avatars.mds.yandex.net/.../orig"],"placeName": "Тануки","placeUrl": "https://yandex.com/maps/org/tanuki/1036014863/","placeAddress": "Moscow, Bolshoy Zlatoustinsky Lane, 1с1","placeRating": 5,"businessId": "1036014863","scrapedAt": "2026-09-10T12:00:00.000Z"}
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, placesProcessed, and chargedEventCounts.
Pricing
This Actor uses Pay per event plus platform usage. Event prices below are the launch defaults; treat the live Pricing tab on the Actor page as the current source of truth, because platform usage (compute and proxy) is billed to the caller in addition to named events.
| Event | Price |
|---|---|
apify-actor-start | $0.00005 |
review-scraped (primary) | $0.004 per saved review |
Empty inputs and places with zero matching public reviews skip the review-scraped event. Worked example: maxReviewsPerPlace: 5 on one place ≈ $0.00005 start + 5 × $0.004 = about $0.02005 in named events, plus platform usage.
Best results
Provide complete org or reviews URLs, or numeric org IDs from a prior place discovery run. Start with maxReviewsPerPlace at 5–20 while validating a new market, then schedule larger caps once Residential proxy is confirmed for your target region. Keep includePhotos on when media evidence matters; turn it off for lean text-only exports. Sort modes other than relevance re-order the fetched window locally for the current page set — provide a higher maxReviewsPerPlace when you need a wider window before local ranking.
How it works
Yandex Maps server-renders review pages with an embedded JSON state blob (about fifty reviews per ?page=N). This Actor uses Impit Chrome-TLS HTTP (cookieless) to fetch those pages, parse reviewResults, and paginate until maxReviewsPerPlace.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~yandex-maps-reviews-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://yandex.com/maps/org/tanuki/1036014863/reviews/"}],"maxReviewsPerPlace":5}'
Use with AI agents through Apify MCP
Scrape the latest 20 public Yandex Maps reviews for org 1036014863. Return authorName, rating, text, updatedTime, and businessReply. Read the dataset plus OUTPUT for outcome and provenance, then confirm cost on the Pricing tab.
Connect via https://mcp.apify.com. Cost signal: about $0.004 per saved review plus platform usage. Confirm current event prices on the Actor Pricing tab before large runs. Scope stays public review rows; pagination is controlled by maxReviewsPerPlace.
Outcomes
| Outcome | Meaning |
|---|---|
COMPLETE | At least one review saved. |
PARTIAL | Some places produced rows; others were empty or hit a charge cap. |
VALID_EMPTY | Places resolved but no public reviews matched filters. |
INVALID_INPUT | No usable URLs or IDs were provided. |
UPSTREAM_FAILED | Upstream transport or captcha with zero useful reviews. |
Legal & responsible use
Use this Actor for public Yandex Maps review content you are authorized to process under applicable laws and site terms. Respect local privacy rules (including personal names in reviews) and rate limits. Keep use cases to legitimate reputation, research, and analytics workflows. Yandex is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Yandex.
Builder's note
I found that plain got-scraping from some environments returned SmartCaptcha shell HTML instead of the SSR review state. Switching to Impit with browser: 'chrome' restored the full embedded JSON and reliable ?page=N pagination. That Chrome-TLS route plus optional Residential proxy is the production path I kept after live probes against popular Moscow orgs.