Yandex Maps Reviews Scraper
Pricing
from $0.28 / 1,000 item extracteds
Yandex Maps Reviews Scraper
Extract public Yandex Maps organization reviews, ratings, reviewer names, dates, likes, and owner replies for reputation monitoring.
Pricing
from $0.28 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Scrape public Yandex Maps organization reviews, ratings, reviewer names, dates, likes, and owner replies into a clean dataset.
Ready-to-run examples
- Yandex Maps Owner Reply Audit
- Yandex Maps Restaurant Review Comparison
- Yandex Maps Known Organization Reviews
- Yandex Maps Hotel Reviews Monitoring
- Yandex Maps Moscow Coffee Reviews
View all ready-to-run examples
What does Yandex Maps Reviews Scraper do?
Yandex Maps Reviews Scraper collects public review rows from Yandex Maps organization pages.
It is built for local SEO teams, reputation managers, market researchers, hospitality operators, retail chains, and agencies that need structured review exports.
The actor accepts direct Yandex Maps organization URLs and can also resolve simple Yandex Maps search queries to organization review pages.
Why scrape Yandex Maps reviews?
Yandex Maps is a major local discovery channel in many markets.
Reviews influence search visibility, conversion, customer trust, and operational decisions.
Manual review monitoring is slow when a team tracks many stores, restaurants, hotels, clinics, or service locations.
This actor turns public reviews into rows that can be exported to JSON, CSV, Excel, Google Sheets, BI tools, or internal dashboards.
Who is it for?
- 🏪 Multi-location operators use it to monitor branch-level review quality, missed owner replies, and recurring service problems across stores, restaurants, clinics, hotels, or service offices.
- 📈 Local SEO and reputation agencies use it to create recurring client reports, prove review-response coverage, and spot locations that need urgent attention.
- 🧭 Market research teams use it to compare public customer feedback for competing venues in the same city or category.
- 🧑💻 Data and automation teams use it to feed public review rows into sentiment analysis, alerts, warehouses, CRMs, and BI dashboards.
Use it when you need structured review rows rather than a general place directory export.
Typical use cases
Monitor recent customer feedback for local branches.
Collect review text for sentiment analysis.
Track owner replies and response coverage.
Compare ratings across competing businesses.
Build lead lists for reputation management services.
Audit hospitality, restaurant, retail, clinic, and service-location performance.
Archive public reviews for reporting and compliance workflows.
Input options
You can provide direct Yandex Maps organization URLs in startUrls.
You can provide optional search terms in searchQueries.
You can limit reviews per place with maxReviewsPerPlace.
You can limit resolved organizations per query with maxPlacesPerQuery.
You can set the language header with language.
You can configure Apify Proxy in proxyConfiguration.
Start URLs
Use public Yandex Maps organization URLs.
Both organization overview URLs and review-tab URLs are accepted.
The actor automatically normalizes organization URLs to the Reviews tab.
Example:
{"startUrls": [{ "url": "https://yandex.com/maps/org/surf_coffee/238919133832/reviews/" }],"maxReviewsPerPlace": 25}
Search queries
Search queries are useful when you do not already know the organization URL.
The actor resolves Yandex Maps search results and then scrapes reviews for the matched places.
Keep queries specific for best results.
Examples:
{"searchQueries": ["coffee in Moscow"],"maxPlacesPerQuery": 1,"maxReviewsPerPlace": 25}
Input settings
| Setting | JSON key | Type / default | Description |
|---|---|---|---|
| Yandex Maps organization/reviews URLs | startUrls | array, default [{"url":"https://yandex.com/maps/org/surf_coffee/238919133832/reviews/"}] | Paste one or more public Yandex Maps organization URLs. Regular org URLs are automatically converted to their Reviews tab. |
| Search queries | searchQueries | array, default ["coffee in Moscow"] | Optional Yandex Maps search terms. The actor resolves the first matching places and then scrapes their reviews. |
| Maximum reviews per place | maxReviewsPerPlace | integer, default 20 | Maximum number of review rows to save for each organization. |
| Maximum places per search query | maxPlacesPerQuery | integer, default 1 | When using search queries, scrape this many places from each query. |
| Review sort order | sort | string, default "relevance" | Best effort. Yandex may keep its default relevance ranking depending on UI availability. |
| Accept-Language header | language | string, default "en-US,en;q=0.9" | Browser locale and HTTP language preference used for Yandex Maps pages. |
| Proxy configuration | proxyConfiguration | object, default {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]} | Apify proxy configuration. Residential proxy is recommended for larger runs if Yandex starts challenging requests. |
Output fields
| JSON key | Label | Type | Description |
|---|---|---|---|
placeId | PlaceId | string | Output field for placeid. |
placeName | PlaceName | string / null | Output field for placename. |
placeUrl | PlaceUrl | string | Output field for placeurl. |
reviewId | ReviewId | string | Output field for reviewid. |
reviewerName | ReviewerName | string / null | Output field for reviewername. |
reviewerProfileUrl | ReviewerProfileUrl | string / null | Output field for reviewerprofileurl. |
rating | Rating | number / null | Output field for rating. |
reviewText | ReviewText | string / null | Output field for reviewtext. |
reviewDate | ReviewDate | string / null | Output field for reviewdate. |
likes | Likes | integer / null | Output field for likes. |
ownerReplyText | OwnerReplyText | string / null | Output field for ownerreplytext. |
ownerReplyDate | OwnerReplyDate | string / null | Output field for ownerreplydate. |
language | Language | string / null | Output field for language. |
scrapedAt | ScrapedAt | string | Output field for scrapedat. |
Example input
{"startUrls": [{"url": "https://yandex.com/maps/org/surf_coffee/238919133832/reviews/"}],"searchQueries": ["coffee in Moscow"],"maxReviewsPerPlace": 20,"maxPlacesPerQuery": 1,"sort": "relevance","language": "en-US,en;q=0.9","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Example output
{"placeId": "238919133832","placeName": "Surf Coffee","placeUrl": "https://yandex.com/maps/org/surf_coffee/238919133832/reviews/","reviewId": "238919133832-user-may-11","reviewerName": "Ксения В.","reviewerProfileUrl": "https://yandex.com/maps/user/example","rating": 5,"reviewText": "Great coffee and friendly staff.","reviewDate": "May 11","likes": 3,"ownerReplyText": "Thank you for your review!","ownerReplyDate": "May 24","language": "en-US,en;q=0.9","scrapedAt": "2026-07-03T12:00:00.000Z"}
Review text
The reviewText field contains the visible public review text.
The actor removes common UI suffixes such as expanded text controls when possible.
Very long reviews are collected from the rendered review card.
Ratings
The rating field is parsed from the Yandex Maps star rating accessibility label.
It is returned as a number when available.
If a rendered card does not expose a rating, the value is null.
Owner replies
Many Yandex Maps reviews contain an official organization response.
The actor expands visible business response controls before extraction.
When a response is present, ownerReplyText and ownerReplyDate are saved.
When no response is present, those fields are null.
Likes
The likes field captures the visible like count on a review card when available.
If no count is visible, the value is null.
Dates
Yandex Maps may display relative or localized dates depending on the page language and review age.
The actor returns the date text exactly as shown by Yandex Maps.
Use language if you need predictable UI language for downstream parsing.
Limits
maxReviewsPerPlace controls how many reviews are saved per organization.
The default is intentionally small enough for quick tests.
Increase it for production monitoring runs.
Large limits may require proxies because Yandex Maps can throttle heavy browser sessions.
Proxy configuration
The actor supports Apify Proxy.
Residential proxy is recommended for larger production workloads.
Small local tests can often run without a proxy.
If Yandex Maps displays a challenge or empty page, enable proxy and reduce concurrency by keeping inputs small.
Performance notes
Review pages are rendered dynamically, so the actor uses Playwright.
Search query resolution uses lightweight HTTP parsing where possible.
The actor scrolls review cards until the requested limit is reached or no new reviews load.
API usage
Run Yandex Maps Reviews Scraper from your own code with the Apify API.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const input = {"startUrls": [{"url": "https://yandex.com/maps/org/surf_coffee/238919133832/reviews/"}],"searchQueries": ["coffee in Moscow"],"maxReviewsPerPlace": 20,"maxPlacesPerQuery": 1,"sort": "relevance"};const run = await client.actor('fetch_cat/yandex-maps-reviews-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("fetch_cat/yandex-maps-reviews-scraper").call(run_input={"startUrls": [{"url": "https://yandex.com/maps/org/surf_coffee/238919133832/reviews/"}],"searchQueries": ["coffee in Moscow"],"maxReviewsPerPlace": 20,"maxPlacesPerQuery": 1,"sort": "relevance"})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~yandex-maps-reviews-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://yandex.com/maps/org/surf_coffee/238919133832/reviews/"}],"searchQueries":["coffee in Moscow"],"maxReviewsPerPlace":20,"maxPlacesPerQuery":1,"sort":"relevance"}'
How to run with search queries
Leave startUrls empty.
Add one or more terms to searchQueries.
Set maxPlacesPerQuery to control how many organizations each query resolves.
Run the actor and inspect the dataset.
Integrations
- 📊 Actor → Google Sheets: schedule the actor daily or weekly, export the dataset to Google Sheets, and give branch managers a simple review-response tracker.
- 📈 Actor → BI dashboard: send dataset exports to BigQuery, Snowflake, Looker Studio, Power BI, or another warehouse/dashboard tool to trend ratings, reply coverage, and complaint themes.
- 🧾 Actor → CRM or helpdesk: route low-rating reviews or missing owner replies into HubSpot, Salesforce, Zendesk, or an internal queue for follow-up.
- 🤖 Actor → AI analysis: pass fresh review rows to an LLM workflow for sentiment summaries, issue clustering, competitor comparison, or monthly reputation reports.
Use with AI agents via MCP
Yandex Maps Reviews Scraper can be used by AI assistants through the hosted Apify MCP server.
Claude Code setup
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/yandex-maps-reviews-scraper"
Claude Desktop, Cursor, or VS Code JSON config
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/yandex-maps-reviews-scraper"}}}
Example prompts
- "Run Yandex Maps Reviews Scraper with this input JSON and summarize the dataset."
- "Export the latest Yandex Maps Reviews Scraper results to a table I can review."
- "Schedule this Actor for monitoring and tell me what changed between runs."
Related actors
- Apple Maps Places Scraper
- Ashby Jobs Scraper
- ATS Jobs Scraper for 6 ATS Sources
- Built In Jobs Scraper
- Craigslist Classifieds Scraper
Best practices
Prefer direct organization URLs for repeatable monitoring.
Use specific search queries when discovering places.
Start with small limits before scaling up.
Use proxies for production-scale runs.
Store historical datasets if you need trend reporting.
Troubleshooting
If the dataset is empty, verify the Yandex Maps URL opens publicly in a browser.
If a search query returns an unexpected place, make the query more specific.
If Yandex Maps shows a cookie banner, the actor handles the common banner automatically.
If Yandex Maps throttles requests, enable Apify Proxy and lower limits.
Data quality
The actor extracts public data visible on Yandex Maps pages.
Some fields can be missing when Yandex does not render them for a given review.
The dataset schema keeps optional values as null instead of inventing values.
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Price |
|---|---|---|
start | One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup). | $0.005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
item | Charged per item extracted. | $0.54581 / 1,000 | $0.47461 / 1,000 | $0.3702 / 1,000 | $0.28477 / 1,000 | $0.18985 / 1,000 | $0.13289 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
Legality
Only scrape public data that you are allowed to process.
Respect Yandex Maps terms, applicable privacy laws, and your internal compliance requirements.
Privacy and compliance
Only scrape data you are allowed to process.
Respect Yandex Maps terms and applicable privacy laws.
Do not use the actor to collect private account-only data.
FAQ
Does this require a Yandex account?
No. The first version targets public organization review pages visible without login.
Can it scrape every review?
It scrolls the rendered review list up to your configured limit.
Availability depends on what Yandex Maps renders during the session.
Can it scrape owner replies?
Yes. Visible official responses are expanded and saved when present.
Can I use it for many locations?
Yes. Provide multiple start URLs or search queries, then choose safe limits and proxy settings.
Does it scrape photos?
No. This actor focuses on review rows, ratings, likes, and owner replies.
Support
Report bugs, wrong output, blocked runs, or missing fields from the Actor page. Include the Apify run ID or run URL, your input JSON, what you expected, what the Actor returned, and one reproducible public URL so the issue can be tested quickly.