
TikTok Shop Scraper
scrape.ly/store/shelfbright/tiktok-shop-scraperE-commerceSocial media
1 monthly user

Scrape Yandex Maps places by search query and location or by place ID. Get name, category, address, phone, website, rating, opening hours, coordinates, popular times, reviews, photos and menus. No login needed.
Turn any Yandex Maps search into a clean spreadsheet of places: name, category, address, phones, website, rating, opening hours, coordinates, popular times, menu highlights and more. Add reviews, photos and full menus when you need them. No login, no API key, and 1,000 places take about a minute.
кофе в Москве, dentist Almaty) or pass exact place IDs and links.кофе в Москве or pizza.Москва, Almaty, Istanbul) or exact Coordinates, and any Filters (rating, price level, Good Place, categories).| Field | What it does |
|---|---|
query | Search queries, one per line. |
locations | City, district or country to search in. Needed for more than about 500 places per query. |
maxItems | Max places per query (default 20). |
organizationIds | Yandex place IDs (1364580496), place links, or short share links (https://yandex.ru/maps/-/…). |
ratingFilter, priceCategories, goodPlaceOnly, categoryIds | Yandex Maps' own search filters. |
language | Language of names, hours and features (RU, EN, KK, TR, AZ, UK, UZ, BE). |
coordinates, viewportSpan | Exact search area as lat,lng and its size in degrees. |
maxReviews, reviewsSort, includeReviewerData | Reviews per place, their order, and reviewer details. |
maxPhotos, includePhotoAuthors | Photo links per place and who uploaded them. |
includeMenu | Full menu or price list. |
{
"query": ["кафе"],
"locations": "Москва",
"maxItems": 500,
"ratingFilter": "gt4.5",
"language": "RU",
"maxReviews": 10,
"reviewsSort": "by_time"
}
One row per place. The main fields:
| Field | Example |
|---|---|
placeId | 111815961340 |
title | НеШабли |
categories | ["Ресторан"] |
fullAddress | Московская область, муниципальный округ Истра, деревня Вельяминово, 43А |
phone / phones | +7 (495) 927-88-88; +7 (931) 223-72-23 |
website | list of links |
location | {"lat": 55.889129, "lng": 36.863769} |
totalScore, ratingCount, reviewsCount | 5, 321, 162 |
workingHoursText, workingHours | пн-чт 10:00–22:00; … and one entry per day |
statusText, isOpenNow | До 22:00, true |
features | amenities such as Wi-Fi, кухня: европейская, смешанная |
metroDetails, stopDetails | nearby stations with distance |
visitsHistogram | popular times, 24 values per weekday |
menuTop / menu | popular items / full menu with prices |
reviews, reviewAspects, reviewTags | when reviews are on |
photos, photoDetails, photosCount | when photos are on |
url | https://yandex.ru/maps/org/111815961340/ |
Example (trimmed):
{
"placeId": "111815961340",
"title": "НеШабли",
"categories": ["Ресторан"],
"address": "д. Вельяминово, 43А",
"fullAddress": "Московская область, муниципальный округ Истра, деревня Вельяминово, 43А",
"addressComponents": {"country": "Россия", "area": "муниципальный округ Истра", "locality": "деревня Вельяминово", "house": "43А"},
"country": "Россия",
"phone": "+7 (495) 927-88-88; +7 (931) 223-72-23",
"phones": [{"number": "+7 (495) 927-88-88", "unformatted": "+74959278888", "type": "phone"}],
"location": {"lat": 55.889129, "lng": 36.863769},
"totalScore": 5,
"ratingCount": 321,
"reviewsCount": 162,
"statusText": "До 22:00",
"isOpenNow": true,
"workingHoursText": "пн-чт 10:00–22:00; пт,сб 10:00–23:00; вс 10:00–22:00",
"workingHours": [{"day": "Mon", "from": "10:00", "to": "22:00"}, {"day": "Fri", "from": "10:00", "to": "23:00"}],
"features": ["средний счёт: 1000–2200 ₽", "кофе с собой", "Wi-Fi", "кухня: европейская, смешанная"],
"socialLinks": [{"type": "telegram", "url": "https://t.me/neshabli"}],
"stopDetails": [{"name": "Вельяминово", "distance": "18 м"}],
"photosCount": 250,
"menuTop": [{"category": "popular", "items": [{"title": "Батат фри / трюфельный соус", "priceText": "570", "priceValue": 570, "currency": "₽"}]}],
"reviews": [{"reviewId": "aB3dE5fG7hJ9", "rating": 5, "text": "Уютно, вкусно, отличный сервис.", "textLanguage": "ru", "updatedTime": "2026-10-01T12:00:00.000Z", "reactions": {"likes": 2, "dislikes": 0}}],
"url": "https://yandex.ru/maps/org/111815961340/",
"query": "кофе в Москве",
"scrapedAt": "2026-10-14T07:50:30.000Z"
}
The review in this example is illustrative. Reviewer names, profiles and avatars are only added when you turn on Include reviewer details.
Pay per event, platform usage included:
Example: 1,000 cafes in Moscow ≈ $2.80 plus about $0.01 of compute and proxy traffic. A 20-place test run costs about 6 cents. There is no start fee.
Is it legal to scrape Yandex Maps? The actor reads public business listings that anyone can see without logging in. Business data is generally fine to collect; reviews can contain personal data, so reviewer details are off by default. Check the rules that apply to you (GDPR and local law) before you use personal data.
Do I need a Yandex account, API key or proxy? No. The default datacenter proxy works. If you ever see blocks, switch the proxy group to RESIDENTIAL.
How many places can I get? One Yandex search shows about 400–500 places. With a Location or Coordinates set, the actor splits the area into smaller tiles and keeps going, so thousands of places per query are possible. Without a location (for example кофе в Москве alone) it stops at what one search shows and tells you so.
Why is a field empty? Yandex only shows what the business published. Many places have no website, no menu or no popular-times data. Empty fields are left out of the row.
Can I scrape a list of specific places? Yes. Paste place IDs or links into Place IDs or links. You can combine them with search queries in one run.
Can I schedule runs or use the API? Yes. Schedule the actor or start it through the API and pick up the dataset as JSON, CSV or Excel.
neuroCrop, neurosummary) are only shown to visitors from some regions and are usually empty.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
queryarrayOptional🔍 Search queries
What you would type in the Yandex Maps search bar, one per line. Examples: 'кофе в Москве', 'pizza', 'dentist Almaty'. Each query is searched separately.
locationsstringOptional📍 Location
Optional city, district or country to search in, for example 'Москва', 'Saint Petersburg', 'Almaty' or 'Istanbul'. Leave empty when the query already names the place. A location lets the actor split big areas and return more than about 500 places per query.
maxItemsintegerOptionaldefault 20💯 Max places per query
Maximum number of places saved for each search query.
organizationIdsarrayOptional🏢 Place IDs or links
Scrape specific places by Yandex Maps organization ID (1364580496), place link (https://yandex.ru/maps/org/name/1364580496/) or short share link (https://yandex.ru/maps/-/CXBabLYE). Works with or without search queries.
Yandex Maps' own search filters. They apply to search queries, not to place IDs.
ratingFilterenumOptionaldefault "any"Minimum rating
Only places rated at least this high.
priceCategoriesarrayOptionalPrice level
Only places in these price levels (restaurants, cafes, bars). Leave empty for all.
goodPlaceOnlybooleanOptionaldefault falseGood Place award only
Only places with the Yandex 'Good Place' (Хорошее место) award.
categoryIdsarrayOptionalCategory IDs
Only places in these Yandex rubrics, by numeric ID. Examples: 184106394 (restaurants), 184106390 (cafes), 35193114937 (coffee shops), 184105932 (pharmacies), 184106414 (hotels). The ID is in the category link on Yandex Maps.
languageenumOptionaldefault "RU"Language
Language of names, categories, hours and features.
coordinatesstringOptionalCoordinates
Exact search center as latitude,longitude, for example 59.9386, 30.3141. Overrides Location.
viewportSpanstringOptionalSearch area size
Width and height of the area around Coordinates in degrees (longitude,latitude). 0.01,0.01 is about 1 km, 0.1,0.1 about 10 km, 0.5,0.5 a whole city. Default 0.1,0.1.
Reviews are charged per review. Yandex shows up to about 600 reviews per place for one sort order.
maxReviewsintegerOptionaldefault 0Reviews per place
How many reviews to save for each place. 0 turns reviews off.
reviewsSortenumOptionaldefault "by_relevance_org"Review order
Which reviews come first.
includeReviewerDatabooleanOptionaldefault falseInclude reviewer details
Add the reviewer's public name, profile link, avatar and level. This is personal data: only collect it if you have a legitimate reason (GDPR and similar laws).
Photos are charged per photo. The full menu is free but adds one page load per place.
maxPhotosintegerOptionaldefault 0Photos per place
How many photo links to save for each place, with size and tags. 0 turns photos off.
includePhotoAuthorsbooleanOptionaldefault falseInclude photo authors
Add the name and link of whoever uploaded each photo.
includeMenubooleanOptionaldefault falseFull menu
Collect the complete menu or price list (all sections), not just the popular items that are always included.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for Yandex Maps and are the default. Proxy traffic is billed per GB.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| placeId | string | Yandex organization ID |
| title | string | Place name |
| shortTitle | string | Short name |
| categories | array | Category names |
| address | string | Display address |
| fullAddress | string | Full address |
| addressComponents | object | Country, locality, street, house, postal code |
| state | string | Region or city |
| area | string | District when Yandex gives one |
| country | string | Country |
| region | object | Search region name and bounds |
| website | array | Website links |
| phone | string | Phones joined with ; |
| phones | array | Phone records |
| location | object | Latitude and longitude |
| totalScore | number | Average rating (1-5) |
| ratingCount | integer | Number of ratings |
| reviewsCount | integer | Number of written reviews |
| neuroCrop | string | Short AI review summary when Yandex shows one |
| neurosummary | string | AI review summary when Yandex shows one |
| visitsHistogram | object | Popular times by weekday, 24 hourly values |
| statusText | string | Open/closed text |
| statusTags | array | Extra status tags |
| isOpenNow | boolean | Open at scrape time |
| permanentlyClosed | boolean | Marked as permanently closed |
| geoId | string | Yandex region ID |
| url | string | Yandex Maps place link |
| logoUrl | string | Logo image |
| panoramaPreviewUrl | string | Street panorama preview |
| workingHoursText | string | Opening hours text |
| workingHours | array | Opening hours by day |
| features | array | Amenities and attributes |
| socialLinks | array | Social profiles |
| sources | array | Data sources |
| metroDetails | array | Nearby metro stations |
| stopDetails | array | Nearby transit stops |
| photosCount | integer | Photos on Yandex |
| photos | array | Photo links |
| photoDetails | array | Photo size, tags, date |
| menuTop | array | Popular menu items |
| menu | array | Full menu |
| menuCategories | array | Menu sections |
| menuItemCount | integer | Menu items |
| reviews | array | Reviews |
| reviewTags | array | Review keyword tags |
| reviewAspects | array | Review aspects with positive and negative counts |
| chain | object | Chain or brand |
| panorama | object | Panorama |
| bounds | array | Bounding box |
| entrances | array | Entrances |
| businessLinks | array | Special business links |
| videoCount | integer | Videos |
| videos | array | Videos |
| awards | object | Awards |
| parentRubrics | array | Parent rubrics |
| query | string | Search query |
| scrapedAt | string | Scrape time (UTC) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Photo | One photo link saved with a place (only when photos are turned on). | $0.00035 |
| Place | One Yandex Maps place saved to the dataset. | $0.0028 |
| Review | One review saved with a place (only when reviews are turned on). | $0.00035 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/yandex-maps-scraper').call({
"query": [
"кофе в Москве"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/yandex-maps-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/yandex-maps-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Places with 5 reviews and 3 photos each.
Search results in a second market with reviews.
Places rated above 4.5 with newest reviews.
Details for specific places only.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.