Yandex Search API

Get Yandex search results for any region, as JSON

median response
1.9s
endpoints
7
credits per call
1–3
Measured on live customer calls,

The Yandex Search API returns Yandex results as JSON in seven actions.

POST/yandex-search/v1/search
Real result, captured Nov 6, 20263 of 10
titlepositiondomainmore_from_site
Ноутбуки - купить ноутбук цены, отзывы, характеристики...1www.citilink.rutrue
Купить ноут - Купить в интернет магазине WildBerries.ru2www.wildberries.rutrue
Ноутбуки - купить ноутбук в Москве, цены, характеристики...3www.kns.rutrue
7 active endpoints, on 1, 2 and 3 credit tiers.search · serp · ads · images · videos · suggest+1 more ↓OpenAPI 3.0 spec ↗

1 credit per call≈ $1/1,000 calls1,000 free credits, no card

Get a free API key
Try it live

Run the call yourself, on the real endpoint

Change a parameter and press Try it. The response on the right is what your code will receive.

Yandex Search API

4 of 7 endpoints, ready to run

View docs ↗

Ranked Yandex web results with title, URL, snippet, displayed URL and date, plus Yandex's total-results estimate — by region, document language and date.

1 credit1 required · 5 optional
POST/yandex-search/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

Try every endpoint in the playground

Endpoints

What Yandex Search endpoints does ReefAPI ship?

7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

  • search

    1 cr

    Yandex web search results from Yandex's web index.

    required
    q
    optional
    domain, lr, lang, ui_lang, page, period, date_from, date_to
  • serp

    3 cr

    The live Yandex results page as a person sees it (mobile layout), for rank tracking.

    required
    q
    optional
    lr, page, domain
  • ads

    2 cr

    Every Yandex Direct ad Yandex shows for a query (the 'commercial offers' page).

    required
    q
    optional
    lr, page
  • images

    2 cr

    Yandex image search.

    required
    q
    optional
    page, size, orientation, type, color, file_type, site, family
  • videos

    2 cr

    Yandex video search across YouTube, VK Video, RuTube, OK and others.

    required
    q
    optional
    page, family
  • suggest

    1 cr

    Yandex search autocomplete for a partial query, in Yandex's order.

    required
    q
    optional
    domain, lr
  • news

    2 cr

    Yandex News search (Yandex News is now served on dzen.ru).

    required
    q
    optional
    sort

Every parameter, every allowed value →

Missing a Yandex Search endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
How it works

How the Yandex Search API works

Yandex Search is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

Authenticate01
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 632 engines.

Call02
POST /yandex-search/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

Pay03
1 or 2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.

Read04
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Recipe

Track a keyword on Yandex in one region

Two views of the same query: the ranked web results with filters and a total, and the results page exactly as a person sees it, with its ads and side blocks.

01serp
POST/yandex-search/v1/serp
{"q": "ремонт холодильника на дому", "lr": 213}

organic_results[].position is the slot on the live Yandex page in Moscow; ads[], knowledge_graph, video_results[] and related_searches[] come from the same page.

02search
POST/yandex-search/v1/search
{"q": "ремонт холодильника на дому", "lr": 213, "page": 2}

Ten web results per page with total_results; keep paging while has_next_page is true.

03ads
POST/yandex-search/v1/ads
{"q": "ремонт холодильника", "lr": 213}

Every advertiser bidding on the query in that region, with domain, ad text and sitelinks.

Where a site ranks on Yandex in a region, who advertises against the query, and what else Yandex puts on the page.

request
curl -X POST https://api.reefapi.com/yandex-search/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"купить ноутбук","lr":213}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "yandex-search",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}
Fields

What each action returns

Measured on 2026-11-06 with live calls. Every action returns the standard envelope; rows below are inside data.

ActionRowsParameters and paging
searchorganic_results[] with position, title, url, displayed_url, domain, snippet, date, favicon; total_results, total_results_text, has_next_pageq, lr, domain, lang, ui_lang, period or date_from/date_to, page (1-25, about 10 per page)
serporganic_results[] with sitelinks, ads[] (url = advertiser page when Yandex prints it, tracking_url), knowledge_graph, video_results[], related_searches[], features[], has_next_pageq, lr, page (1-25), domain (yandex.com.tr, kz, uz, by)
adsads[] with title, domain, displayed_url, description, sitelinks, tracking_urlq, lr (default 213), page
imagesimages[] with image_url, width, height, file_size_bytes, thumbnail, source_url, source_domain, title (30 per page)q, page, size, orientation, type, color, file_type, site, family
videosvideos[] with url, platform, channel, duration_seconds, views_text, published_at, description, thumbnail, embed_url (about 17 per page)q, page, family
suggestsuggestions[] with text and type; weather and other inline answers carry factq, domain, lr
newsnews[] with title, url, source, snippet, published_at, story_url, more_sources (20 per call)q, sort (relevance or date)

tracking_url on an ad is Yandex's own click link and is returned as is; we never open it, because opening it bills the advertiser. A query Yandex says it has nothing for returns NOT_FOUND; a page past the last one Yandex serves returns ok with no rows and has_next_page false (meta.page_out_of_range); a change in Yandex's layout returns SCHEMA_DRIFT, never an empty success.

Coverage

What Yandex returns, measured 2026-11-06

Numbers from 324 live calls across the seven actions, in Russian, Turkish, English, Ukrainian, Kazakh, Belarusian, Bulgarian, Serbian and Uzbek, through the same gateway path customers use.

Success

search 54 of 54, serp 42 of 42 (and 10 of 10 with a region), ads 39 of 40, images 46 of 46, videos 41 of 41, suggest 44 of 44, news 41 of 41. The one ads miss was Yandex's own answer: it shows no ads for that query and region, on its ads page and on its results page alike.

search and serp are two different orders

search returns Yandex's web-index ranking, with language and date filters and a total count. serp returns the live results page. For the same query and region they shared about a third to a half of their top-10 domains, so use serp when you track positions as people see them.

Region and language

lr changes the results and every response reports the region Yandex applied. lang keeps only documents in one language: 'Moscow' with lang=en returns English pages, with lang=tr Turkish ones. Without lr each domain uses its home region (Moscow for yandex.ru, Istanbul for yandex.com.tr).

Filters that were checked to bite

period and date_from/date_to: every dated row fell inside the window (a 2024 range returned 10 of 10 rows dated 2024). Images: size=large with orientation=horizontal raised the average width from 768 to 1,820 px, 30 of 30 landscape; file_type=gif returned 23 of 30 animations against 0 without it. News sort=date returned strictly newest-first.

The full page, not ten links

serp carries the ads placed in the results, the knowledge panel (title, description, facts, sources and see-also lists), the video block and 'people also search' when Yandex shows them. Across 42 pages: related searches on 24, videos on 11, ads on 5, a knowledge panel on 1; features lists every block on the page.

Against us

Yandex dates only fresh pages, so date was set on 43 of 582 web rows. The web results ignore Yandex's family filter and date sort, so neither is offered there. The AI answer block is drawn after the page loads and is not returned. Yandex News now lives on dzen.ru, so links to Dzen-native articles are dzen.ru links.

Use cases

What people build with Yandex Search

The jobs this data is most often used for.

01

SEO teams track a site's Yandex position for a keyword in Moscow, Saint Petersburg, Istanbul or Almaty with serp and lr.

02

Advertisers list every Yandex Direct competitor bidding on a query in a region with ads.

03

Keyword tools collect Yandex autocomplete and related searches in Russian, Turkish and Kazakh.

04

AI and RAG pipelines use search with lang and period as a Yandex web source next to Google or Bing.

7

endpoints

1/2/3

credits per call

Pricing

What Yandex Search data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

$0.67–$1.50 / 1,000 credits
Full pricing →
  • 1,000 free credits on signup, no card
  • One key, all 632 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire
no credit card1,000 free credits · instant API key · pay by card or crypto
Quickstart

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/yandex-search/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"купить ноутбук","lr":213}'
python
import os
import requests

REEF_KEY = os.environ["REEF_KEY"]

r = requests.post(
    "https://api.reefapi.com/yandex-search/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
        "q": "купить ноутбук",
        "lr": 213
    },
    timeout=90,
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Yandex Search.

Is this Yandex's official Search API?▾

No. Yandex sells its own Search API through Yandex Cloud with a key and per-request billing. ReefAPI is an independent service that returns what Yandex's public search pages show, as JSON, with one ReefAPI key and no Yandex account.

Why do search and serp return different orders?▾

search returns Yandex's web-index ranking, which supports the language filter, date filters and a total count. serp returns the live results page, which blends in other blocks and ranks for the device and region. On the same query and region they shared about a third to a half of their top-10 domains. Use serp for rank tracking and search when you need filters, totals or volume.

How do I choose a region?▾

Pass lr, Yandex's region id: 213 Moscow, 2 Saint Petersburg, 225 Russia, 11508 Istanbul, 983 Turkey, 162 Almaty, 157 Minsk, 84 USA. meta.region_id reports the region Yandex applied. On search, each domain has a home region when lr is absent.

Which languages work?▾

Any query language. The live tests used Russian, Turkish, English, Ukrainian, Kazakh, Belarusian, Bulgarian, Serbian and Uzbek queries. On search, lang keeps only documents written in one language (ru, en, tr, uk, be, kk, uz, de, fr, es, it, pl).

Does it return Yandex ads?▾

Yes, two ways. ads lists every Yandex Direct ad Yandex shows for the query in a region, usually ten. serp returns the ads that were placed on the results page itself, with their slot. Ads carry the advertiser's domain, the ad text and sitelinks. Each ad is its own row, also when Yandex groups two ads in one block. tracking_url is Yandex's click link; on serp, url is the advertiser's page when Yandex prints it, otherwise null.

Is Yandex News still Yandex?▾

Yandex's news address now opens Dzen (dzen.ru), and news searches that. Stories come with the publisher, publish time and other outlets covering the same story; Dzen-native articles link to dzen.ru.

How fast is it?▾

Median around 1 to 2 seconds per call on every action in the live test. serp with a region set took longer, a median of 4.7 seconds.

What is the Yandex Search API?▾

Yandex Search API is a ReefAPI endpoint group for yandex search results as json: ranked web results by region and language, the live results page with ads, knowledge panel and related searches, yandex direct ads, images, videos, autocomplete and news. It returns live JSON through POST requests under /yandex-search/v1.

Is the Yandex Search API free to try?▾

Yes. ReefAPI starts with 1,000 free credits, no card required. Yandex Search calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Yandex Search login or account?▾

No login to Yandex Search is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Yandex Search data?▾

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Yandex Search API use?▾

Yandex Search actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Yandex Search from an AI assistant or MCP client?▾

Yes. Connect ReefAPI once through MCP and your assistant can call yandex-search actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Yandex Search API a Yandex Search scraper?▾

It is the managed alternative to a DIY Yandex Search scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same yandex search results as json: ranked web results by region and language, the live results page with ads, knowledge panel and related searches, yandex direct ads, images, videos, autocomplete and news back as clean JSON.

Same key

11 Search & SEO APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Yandex Search, you are one call away from the rest of the category — no second contract, no second integration.

Contact

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 631 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-06.