yandex.ru APIyandex.ru ↗
Search Yandex Maps for businesses and retrieve names, addresses, phone numbers, websites, social links, hours, categories, and ratings via 2 endpoints.
curl -X GET 'https://api.parse.bot/scraper/287a70d8-be62-4a52-9e5b-49e263391bac/search_companies?city=moscow&page=2&query=%D0%BA%D0%BE%D1%84%D0%B5®ion_id=213' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for companies/businesses on Yandex Maps by query term in a specific city. Returns a paginated list of companies with full contact details including phones, websites, social links, working hours, categories, and ratings.
| Param | Type | Description |
|---|---|---|
| city | string | City name in URL slug format (e.g. 'moscow', 'saint_petersburg'). |
| page | integer | Page number for pagination. Each page returns up to 25 results. |
| query | string | Search query in any language (e.g. 'кофе', 'restaurants', 'graphic design'). |
| region_id | string | Yandex region ID as a numeric string (213 for Moscow, 2 for Saint Petersburg). |
{
"type": "object",
"fields": {
"city": "string, the city searched",
"page": "integer, the current page number",
"query": "string, the search query used",
"companies": "array of company objects with id, name, address, description, coordinates, phones, website, all_urls, social_links, categories, working_hours, and rating",
"total_results": "integer, total number of matching results",
"results_per_page": "integer, max results per page (typically 25)",
"companies_on_page": "integer, actual number of companies returned on this page"
},
"sample": {
"data": {
"city": "moscow",
"page": 1,
"query": "кофе",
"companies": [
{
"id": "205868206346",
"name": "Ребус кофе",
"phones": [
{
"type": "phone",
"value": "+15558908306",
"number": "+1 (555) 890-83-06"
}
],
"rating": {
"score": null,
"reviews_count": 47
},
"address": "Moscow, Tryokhprudny Lane, 11/13в2",
"website": null,
"all_urls": [],
"categories": [
{
"id": "178781223490",
"name": "Coffee to go"
},
{
"id": "35193114937",
"name": "coffee shop"
}
],
"coordinates": [
37.595905,
55.765392
],
"description": "Moscow, Tryokhprudny Lane, 11/13в2",
"social_links": [
{
"url": "https://t.me/RebusCoffee",
"type": "telegram",
"display": "@RebusCoffee"
}
],
"working_hours": "daily, 9:00 AM–8:00 PM"
}
],
"total_results": 105,
"results_per_page": 25,
"companies_on_page": 24
},
"status": "success"
}
}About the yandex.ru API
The Yandex Maps API provides 2 endpoints for finding and inspecting business listings across Yandex Maps, returning over 10 structured fields per company including phones, coordinates, categories, and ratings. The search_companies endpoint queries businesses by keyword and city, while get_company_details fetches the full profile of a specific organization by its Yandex Maps ID.
Search and Discovery
The search_companies endpoint accepts a query string in any language alongside an optional city slug (e.g. moscow, saint_petersburg) or a numeric region_id (e.g. 213 for Moscow, 2 for Saint Petersburg). Results are paginated — up to 25 companies per page — and the response includes total_results, results_per_page, and companies_on_page so you can walk through large result sets programmatically. Each company object in the companies array carries id, name, address, coordinates, phones, website, all_urls, social_links, categories, and rating.
Company Detail Lookup
Once you have an organization ID from search results, get_company_details returns the full record for that business. The phones field is an array of objects with number, type, and value subfields. The rating object contains a numeric score and an integer reviews_count, or null when no rating exists. The categories array provides both a category id and human-readable name. The all_urls array captures every URL associated with the business, which may include booking pages, social profiles, or secondary domains beyond the primary website field.
Coverage and Coordinates
Coordinates are returned as a two-element array in [longitude, latitude] order, ready for use in mapping or geospatial workflows. Both endpoints reflect Yandex Maps' index of Russian-language and CIS-region businesses, which is substantially broader for Eastern Europe and Central Asia than Western mapping services. The description field carries a short business summary where one has been provided by the listing owner.
- Build a business directory for Russian cities using names, addresses, and phone numbers from
search_companies. - Enrich a CRM with verified contact data by resolving known business names against
get_company_details. - Map competitor locations by querying a category keyword and plotting returned
coordinatesarrays. - Aggregate business ratings and review counts across a category to benchmark local market quality.
- Collect
social_linksandall_urlsfor businesses to support outreach or digital presence analysis. - Validate or deduplicate business records using the canonical Yandex organization
idandaddress. - Monitor category coverage for a city by iterating pages of
search_companiesresults and counting distinctcategories.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Yandex have an official developer API for Maps business data?+
What does `search_companies` return beyond basic name and address?+
phones (typed phone objects), website, all_urls (all associated URLs), social_links, categories (with IDs and names), coordinates as [longitude, latitude], a short description, and a rating object with score and reviews_count. Pagination metadata — total_results, results_per_page, and companies_on_page — is also returned at the top level.Does the API return working hours for businesses?+
search_companies. They are not broken out as a named top-level field in get_company_details in the current schema. You can fork this API on Parse and revise it to explicitly surface working hours as a structured field in the detail endpoint.Does the API cover businesses outside Russia and CIS countries?+
Is there a way to search by geographic coordinates rather than city name or region ID?+
search_companies endpoint accepts city (slug) or region_id (numeric string) as location inputs — coordinate-based bounding box search is not supported. You can fork this API on Parse and revise it to add a coordinate or bounding-box parameter to the search endpoint.