POST /v1/maps · engine=yandex
Yandex Maps API
Search Yandex Maps around a point and get each organisation's address, coordinates, rating, phones, website and opening hours as JSON. Look one up later by its Yandex oid.
Overview
What the Yandex Maps API does
Yandex runs its own web index and map database, the strongest for Russian-language queries and for Russia and much of the CIS. Use it for Russian and CIS markets, where Yandex's index and Yandex Maps cover more than Google.
/v1/maps with engine: "yandex" searches Yandex Maps around ll (@lat,lng,zoomz) or a location. Each result is an organisation: title, type, address, latitude, longitude, rating and rating_count (first page), phones, website, opening_hours, structured weekly_hours, timezone, oid and yandex_maps_url. Without language Yandex Maps answers in Russian, with its own names, addresses and categories; language: "en" returns addresses and categories in English (tr Turkish, kk Kazakh). To read one organisation later, send its oid to /v1/place.
What you get
-
results[]array - Organisations: title, type and types, address, country, latitude, longitude, rating, rating_count, phone_number, international_phone_number, website, opening_hours, weekly_hours, timezone, thumbnail_url, oid and yandex_maps_url.
-
metaobject - request_id, credits_used, cached, latency_ms, parse_quality, engine (the provider that answered) and route (each provider attempt with outcome and ms).
Request
curl https://api.serpkite.com/v1/maps \
-H "Authorization: Bearer $SERPKITE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"q":"кофейня","ll":"@55.757,37.615,14z","engine":"yandex"}'Response (live response, trimmed)
{
"request": {
"country": "us",
"endpoint": "maps",
"engine": "yandex",
"language": "en",
"ll": "@55.757,37.615,14z",
"num": 10,
"page": 1,
"q": "кофейня"
},
"results": [
{
"address": "Мясницкая ул., 13, стр. 21",
"country": "RU",
"international_phone_number": "+79255750577",
"latitude": 55.763213,
"longitude": 37.633405,
"oid": "157998496135",
"opening_hours": {
"Friday": "09:00–22:00",
"Monday": "09:00–22:00",
"Saturday": "10:00–22:00",
"Sunday": "10:00–22:00",
"Thursday": "09:00–22:00",
"Tuesday": "09:00–22:00",
"Wednesday": "09:00–22:00"
},
"phone_number": "+7 (925) 575-05-77",
"position": 1,
"rating": 4.9,
"rating_count": 1568,
"thumbnail_url": "https://avatars.mds.yandex.net/get-altay/19547455/2a0000019ca3b23d14c09f4a6234b53a5c24/L",
"timezone": "Europe/Moscow",
"title": "Ycp",
"type": "Кофейня",
"types": [
"Кофейня",
"кафе",
"быстрое питание"
],
"website": "https://ycp.clients.site/",
"weekly_hours": {
"friday": [
{
"close": "22:00",
"open": "09:00"
}
],
"monday": [
{
"close": "22:00",
"open": "09:00"
}
]
},
"yandex_maps_url": "https://yandex.ru/maps/org/157998496135/"
},
{
"address": "Страстной бул., 8А, Москва",
"country": "RU",
"description": "Кофейня Surf Coffee x Flow — это уютное место, где можно провести время с друзьями или поработать удаленно. Гости отмечают, что в кофейне всегда чисто и быстро можно найти себе место, а персонал очень…",
"international_phone_number": "+79933375686",
"latitude": 55.766219,
"longitude": 37.610433,
"oid": "69353267050",
"opening_hours": {
"Friday": "08:00–23:00",
"Monday": "08:00–23:00",
"Saturday": "10:00–23:00",
"Sunday": "10:00–23:00",
"Thursday": "08:00–23:00",
"Tuesday": "08:00–23:00",
"Wednesday": "08:00–23:00"
},
"phone_number": "+7 (993) 337-56-86",
"position": 2,
"rating": 4.9,
"rating_count": 1261,
"thumbnail_url": "https://avatars.mds.yandex.net/get-altay/15340601/2a000001975930a7923bccd85b1b3c57e1be/L",
"timezone": "Europe/Moscow",
"title": "Surf Coffee x Flow",
"type": "Кофейня",
"types": [
"Кофейня"
],
"website": "https://surfcoffee.ru/",
"weekly_hours": {
"friday": [
{
"close": "23:00",
"open": "08:00"
}
],
"monday": [
{
"close": "23:00",
"open": "08:00"
}
]
},
"yandex_maps_url": "https://yandex.ru/maps/org/69353267050/"
}
],
"meta": {
"request_id": "req_01J8ZK4M6Q2V7",
"credits_used": 1,
"cached": false,
"engine": "yandex",
"route": [
{
"provider": "yandex",
"outcome": "ok",
"ms": 997
}
],
"latency_ms": 1047,
"parse_quality": "ok"
}
}
Every response also carries X-Credits-Used, X-Credits-Remaining,
X-Cache and X-Tokens-Estimate headers.
Run this query in the playground
One key, many engines
Yandex through SerpKite
- Same key, same envelope and the same SDK call as Google: only
enginechanges. meta.enginenames the provider that answered andmeta.routelists every attempt. A result is never relabelled.engine: "auto"keeps Google first and falls back to Yandex and the other engines only when Google fails. How fallback works- Failed, blocked and empty attempts are free; you pay only for the provider that answered.
Everything Yandex serves on SerpKite
-
Yandex Search API
POST /v1/search · engine=yandex -
Yandex Maps API
POST /v1/maps · engine=yandex -
Yandex Places API
POST /v1/places · engine=yandex -
Place Details
POST /v1/place · engine=yandex
See all engines on the multi-engine search page or in the providers reference.
engine=auto answered by Yandex (illustrative)
{
"request": {
"endpoint": "maps",
"engine": "auto",
"q": "кофейня"
},
"meta": {
"engine": "yandex",
"route": [
{
"provider": "google",
"outcome": "blocked",
"ms": 2140
},
{
"provider": "yandex",
"outcome": "ok",
"ms": 640
}
]
}
}Reference
Parameters
The parameters /v1/maps accepts, in the JSON body or the query string.
| Name | Type | Default | Description |
|---|---|---|---|
q
required
|
string | – | The search query. Required. Up to 2,048 characters. |
engine
|
string | string[] | "yandex" for this page. "auto" tries Google first and falls back to other engines; a list such as ["google", "yandex"] limits the route to those engines. | |
ll
|
string | – | Maps and places: search the map at a point and zoom, as "@lat,lng,zoomz", e.g. "@52.52,13.40,14z" (zoom defaults to 14z), wherever the request comes from. Overrides location. |
location
|
string | – | Canonical location for local results, e.g. "Austin, Texas, United States". Ending in a country name also sets country. |
language
|
string | en | Interface language, as a language code with an optional region (en, de, pt-BR, zh-TW…). |
page
|
integer | 1 | Results page, 1–10. Each page is billed separately. |
format
|
string | json | Response format. markdown is LLM-ready prose; compact is JSON with only the fields agents need. Values: json, compact, markdown. |
fields
|
string | – | Comma-separated projection, e.g. results.title,results.link,knowledge_graph. Cuts tokens. |
max_age
|
integer | – | Accept a cached result up to this many seconds old. Cache hits cost 50% of the credits. |
oid
|
string | – | On /v1/place: one organisation's Yandex Maps ID (the number in yandex.ru/maps/org/…/<oid>/). Implies engine=yandex. |
Full reference, error codes and headers are in the /v1/maps reference. Queue up to 100 requests at half price with POST /v1/batches.
Use cases
What people build with the Yandex Maps API
Russian and CIS SEO
Check where a site ranks on Yandex for Russian-language keywords, by region.
Local data for Russia
Yandex Maps lists organisations, phones, hours and ratings across Russia and the CIS.
Agents that read Russian
Give an agent Yandex results as JSON or Markdown for Russian-language research.
Pricing
Yandex Maps API pricing
Cost per call
1 credit
per page of results
- From $0.60 per 1,000 calls at volume.
- Credits never expire. No subscription.
- Failed, empty and blocked calls are refunded.
- 2,500 free credits = 2,500 calls, then 1,000 credits a month.
For reference: Serper lists Google searches at $1.00 per 1k on its entry tier and $0.30 at its best tier, and its credits expire after 6 months. SerpKite credits cost $1.00 to $0.60 per 1k.
| Pack | Price | Per 1k credits | Per 1k calls | Calls per pack |
|---|---|---|---|---|
| Starter | $10 | $1.00 | $1.00 | 10,000 |
| Growth | $50 | $0.80 | $0.80 | 62,500 |
| Pro | $300 | $0.60 | $0.60 | 500,000 |
FAQ
Yandex Maps API: common questions
Keep exploring
Related APIs and integrations
Start building
Start with the Yandex Maps API
2,500 free credits, then 1,000 every month. No credit card.