Yandex Maps logo

Property & travel · Live on Apify

Yandex Maps Scraper: Places, Phones and Reviews

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.

About $2.70 for 1,000 results$0.0027 per result + $0.0001 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

recordTypeplace
orgId85901801207
nameBasilic

How to use it: 3 steps

  1. Make a free Apify accountApify 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 StartNo 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 resultsWhen 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.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

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

Who uses it

Sales teams

Build a list of local businesses with phones and websites.

Local marketing teams

Read customer reviews of your business or of others.

Market researchers

Compare categories or chains across cities.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
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.0001Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.

Examples

  • 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. That is enough for about 1,800 results.

Prices checked on 8 November 2026. See the current price on Apify.

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.

Details

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
TaskInputYou getKey fieldsNext step
Build a local lead listquery, locations, includeReviews: false, enrichBusinessDataPlacename, phone, website, email, addressCSV or Excel export, CRM import
Study customer reviewsmode: reviews, businessIds, reviewSort: allReviewrating, text, date, businessCommentText analysis in a spreadsheet or BI tool
Find reviews without a replymode: reviews, startUrls, replyFilter: unansweredReviewreviewId, rating, text, urlSlack or Notion summary
Track ratings each weekmode: monitor, query, location, stateNamePlacechangeType, rating, reviewsCountApify schedule, webhook
Compare a market by cityquery, locations, filterRating, categoryPlacecategory, rating, reviewsCount, cityBI tool, spreadsheet
Tips for better results
  • 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 and good to know
  • 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

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one 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. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
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)
cURL
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": ["кафе"]}'
LangChain · langchain-apify
# 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)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (40)
FieldTypeMeaning
recordTypestringRecord type from the public Yandex Maps record. Null or empty when the source does not expose it.
statusstringRecord outcome. See RUN_SUMMARY for run-level limits and errors.
orgIdstringOrganization ID from the public Yandex Maps record. Null or empty when the source does not expose it.
businessIdstringOrganization ID from the public Yandex Maps record. Null or empty when the source does not expose it.
namestringBusiness name from the public Yandex Maps record. Null or empty when the source does not expose it.
titlestringBusiness name from the public Yandex Maps record. Null or empty when the source does not expose it.
descriptionstringDescription from the public Yandex Maps record. Null or empty when the source does not expose it.
shortTitlestringShort title from the public Yandex Maps record. Null or empty when the source does not expose it.
categorystringCategory from the public Yandex Maps record. Null or empty when the source does not expose it.
categoriesarrayCategories from the public Yandex Maps record. Null or empty when the source does not expose it.
categoryIdsarrayCategory ids from the public Yandex Maps record. Null or empty when the source does not expose it.
ratingnumberBusiness or review rating from 1 to 5.
ratingCountnumberNumber of all star ratings, including ratings without written text.
reviewsCountnumberNumber of written reviews reported by the source.
reviewCountnumberWritten reviews count from the public Yandex Maps record. Null or empty when the source does not expose it.
addressstringAddress from the public Yandex Maps record. Null or empty when the source does not expose it.
additionalAddressstringAdditional address from the public Yandex Maps record. Null or empty when the source does not expose it.
countrystringCountry from the public Yandex Maps record. Null or empty when the source does not expose it.
regionstringRegion from the public Yandex Maps record. Null or empty when the source does not expose it.
citystringCity from the public Yandex Maps record. Null or empty when the source does not expose it.
streetstringStreet from the public Yandex Maps record. Null or empty when the source does not expose it.
housestringHouse from the public Yandex Maps record. Null or empty when the source does not expose it.
postalCodestringPostal code from the public Yandex Maps record. Null or empty when the source does not expose it.
phonestringPhone from the public Yandex Maps record. Null or empty when the source does not expose it.
phonesarrayPhones from the public Yandex Maps record. Null or empty when the source does not expose it.
websitestringWebsite from the public Yandex Maps record. Null or empty when the source does not expose it.
websitesarrayWebsites from the public Yandex Maps record. Null or empty when the source does not expose it.
socialLinksarraySocial links from the public Yandex Maps record. Null or empty when the source does not expose it.
latnumberLatitude from the public Yandex Maps record. Null or empty when the source does not expose it.
lngnumberLongitude from the public Yandex Maps record. Null or empty when the source does not expose it.
latitudenumberLatitude from the public Yandex Maps record. Null or empty when the source does not expose it.
longitudenumberLongitude from the public Yandex Maps record. Null or empty when the source does not expose it.
urlstringUrl from the public Yandex Maps record. Null or empty when the source does not expose it.
businessStatusstringBusiness status from the public Yandex Maps record. Null or empty when the source does not expose it.
isOpenNowbooleanIs open now from the public Yandex Maps record. Null or empty when the source does not expose it.
workingHoursTextstringWorking hours text from the public Yandex Maps record. Null or empty when the source does not expose it.
schedulearraySchedule from the public Yandex Maps record. Null or empty when the source does not expose it.
isVerifiedOwnerbooleanIs verified owner from the public Yandex Maps record. Null or empty when the source does not expose it.
featuresarrayFeatures from the public Yandex Maps record. Null or empty when the source does not expose it.
featureGroupsarrayFeature groups from the public Yandex Maps record. Null or empty when the source does not expose it.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Data to collectmodestring"places"
Search termsqueryarray["кафе"]
City or arealocationstring"Алматы"
Several citieslocationsarray
Business categorycategorystring
Business IDsbusinessIdsarray
Business page URLsstartUrlsarray
Maximum result rowsmaxItemsinteger10
Maximum results (compatibility)maxResultsinteger
Include reviews in placesincludeReviewsbooleantrue
Reviews per businessmaxReviewsinteger50
Review orderreviewSortstring"relevance"
Minimum review ratingreviewMinRatingnumber
Maximum review ratingreviewMaxRatingnumber
Reviews updated fromreviewsFromstring
Reviews updated toreviewsTostring
Reviews with text onlyonlyWithTextbooleanfalse
Owner reply filterreplyFilterstring"all"
Business data languagelanguagestring"ru"
Photos per businessmaxPhotosinteger0
Posts per businessmaxPostsinteger0
Full menu or price listincludeMenubooleanfalse
Extra business detailsenrichBusinessDatabooleanfalse
Business IDs to skipexcludeBusinessIdsarray
Only new resultsonlyNewbooleanfalse

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure