Yandex Search API & Scraper
The Yandex Search API returns Yandex results as JSON in seven actions.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
search gives ranked web results with position, title, URL, snippet, displayed URL, domain, favicon and the date Yandex shows, plus Yandex's total-results estimate, for any Yandex region (lr), on yandex.ru, yandex.com, yandex.com.tr, yandex.kz, yandex.by, yandex.uz or ya.ru, filtered by document language and by date, ten results a page. serp returns the live results page in Yandex's own order: organic results with sitelinks, the ads on the page, the knowledge panel, the video block and related searches. ads lists every Yandex Direct ad for a query in a region. images and videos cover Yandex image search (size, orientation, type, colour, format and site filters) and video search across YouTube, VK Video, RuTube and OK. suggest returns autocomplete with Yandex's inline answers, and news searches Yandex News. Built for rank tracking in Russia, Turkey and the CIS, competitor ad research, keyword research and AI pipelines that need a Yandex source. One ReefAPI key, no Yandex account and no Yandex Cloud key.
What each action returns
Measured on 2026-11-06 with live calls. Every action returns the standard envelope; rows below are inside data.
| Action | Rows | Parameters and paging |
|---|---|---|
| search | organic_results[] with position, title, url, displayed_url, domain, snippet, date, favicon; total_results, total_results_text, has_next_page | q, lr, domain, lang, ui_lang, period or date_from/date_to, page (1-25, about 10 per page) |
| serp | organic_results[] with sitelinks, ads[] (url = advertiser page when Yandex prints it, tracking_url), knowledge_graph, video_results[], related_searches[], features[], has_next_page | q, lr, page (1-25), domain (yandex.com.tr, kz, uz, by) |
| ads | ads[] with title, domain, displayed_url, description, sitelinks, tracking_url | q, lr (default 213), page |
| images | images[] 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 |
| videos | videos[] with url, platform, channel, duration_seconds, views_text, published_at, description, thumbnail, embed_url (about 17 per page) | q, page, family |
| suggest | suggestions[] with text and type; weather and other inline answers carry fact | q, domain, lr |
| news | news[] 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.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/yandex-search/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"q": "купить ноутбук",
"lr": 213
}
}{
"ok": true,
"meta": {
"api": "yandex-search",
"endpoint": "search",
"mode": "live",
"latency_ms": 967.3,
"record_count": 10,
"bytes": 45137,
"cache_hit": false,
"stop_reason": "has_more",
"source": "web_index",
"region_id": 213,
"filters_applied": {
"lr": 213
},
"charged_credits": 1,
"version": "1.0.1",
"request_id": "6f9658f0c25c425e",
"fetched_at": "2026-11-06T16:39:45.131Z"
},
"data": {
"query": "купить ноутбук",
"page": 1,
"domain": "yandex.ru",
"organic_results": [
{
"position": 1,
"title": "Ноутбуки - купить ноутбук цены, отзывы, характеристики...",
"url": "https://www.citilink.ru/catalog/noutbuki/",
"displayed_url": "citilink.ru/catalog/noutbuki/",
"domain": "www.citilink.ru",
"snippet": "Купить ноутбук в СИТИЛИНК. Выгодные цены, кэшбэк и бонусы для юрлиц и физлиц.Отзывы и обзоры от покупателей. Характеристики. Гарантия, покупка в кредит и рассрочку.",
"date": null,
"date_text": null,
"favicon": "https://favicon.yandex.net/favicon/www.citilink.ru",
"more_from_site": true
},
{
"position": 2,
"title": "Купить ноут - Купить в интернет магазине WildBerries.ru",
"url": "https://www.wildberries.ru/catalog/tags/kupitb-nout",
"displayed_url": "wildberries.ru/catalog/tags/kupitb-nout",
"domain": "www.wildberries.ru",
"snippet": "Купить ноут - Большой выбор в интернет-магазине WildBerries.ru. Бесплатная доставка и постоянные скидки!",
"date": null,
"date_text": null,
"favicon": "https://favicon.yandex.net/favicon/www.wildberries.ru",
"more_from_site": true
},
{
"position": 3,
"title": "Ноутбуки - купить ноутбук в Москве, цены, характеристики...",
"url": "https://www.kns.ru/catalog/noutbuki/",
"displayed_url": "kns.ru/catalog/noutbuki/",
"domain": "www.kns.ru",
"snippet": "Купить ноутбук выгодно в KNS. Большой выбор ноутбуков и удобный подобор по параметрам, описаниям, фото, характеристикам. Акции и оптовые скидки на ноутбуки.",
"date": null,
"date_text": null,
"favicon": "https://favicon.yandex.net/favicon/www.kns.ru",
"more_from_site": true
}
],
"total_results": 631000,
"total_results_text": "нашёл 631 тыс. ответов в интернете",
"has_next_page": true
}
}What the Yandex Search API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Yandex web search results from Yandex's web index: ranked pages with position, title, URL, snippet, displayed URL and the date Yandex shows, plus Yandex's own total-results estimate. Localise by region (`lr`) and domain, filter by document language (`lang`) and by date (`period`, or `date_from`/`date_to`), and page through results (`page`, 10 per page). Fast and cheap. The order is Yandex's web-index ranking, which is not the same blend as the yandex.ru results page (measured: about a third to a half of the top-10 domains in common). To track positions exactly as people see them on Yandex, use `serp`. | SEO teams call search to get yandex web search results from Yandex's web index. | q, domain, lr, lang, ui_lang, ... |
| serp | The live Yandex results page as a person sees it (mobile layout), for rank tracking: organic results in Yandex's own order with sitelinks, the paid ads placed in the results, the knowledge panel (entity card with description, facts, sources and 'see also' lists), the video block, and 'people also search' related queries. `features` lists every block Yandex placed on the page. Slower than `search` (reads the full mobile page); use `search` when you only need the ranked web results. | Content strategists call serp to get the live Yandex results page as a person sees it (mobile layout), for rank tracking. | q, lr, page, domain |
| ads | Every Yandex Direct ad Yandex shows for a query (the 'commercial offers' page): ad title, advertiser domain, displayed URL, ad text, sitelinks and the Yandex click-tracking URL. Localise with `lr`. Useful for competitor ad research. | Rank trackers call ads to get every Yandex Direct ad Yandex shows for a query (the 'commercial offers' page). | q, lr, page |
| images | Yandex image search: full-size image URL, dimensions, file size, thumbnail, the page the image is on and its title. ~30 images per page. Filter by size, orientation, type, colour, file format and site. | AI answer-monitoring tools call images to get yandex image search. | q, page, size, orientation, type, ... |
| videos | Yandex video search across YouTube, VK Video, RuTube, OK and others: video title, watch URL, platform, channel, duration, views, publish date, description and thumbnail. ~17 per page. | SEO teams call videos to get yandex video search across YouTube, VK Video, RuTube, OK and others. | q, page, family |
| suggest | Yandex search autocomplete for a partial query, in Yandex's order. Rows that Yandex answers inline (weather and similar facts) carry the fact too. Fast and cheap; good for keyword research in Russian, Turkish and CIS languages. | Content strategists call suggest to get yandex search autocomplete for a partial query, in Yandex's order. | q, domain, lr |
| news | Yandex News search (Yandex News is now served on dzen.ru): story headline, publisher, article URL, snippet, publish time, the story's size and other publishers covering it. | Rank trackers call news to get yandex News search (Yandex News is now served on dzen.ru). | q, sort |
Call search from your stack
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}'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"])const res = await fetch("https://api.reefapi.com/yandex-search/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"q": "купить ноутбук",
"lr": 213
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.yandex-search.search with {"q":"купить ноутбук","lr":213}.Who uses this API and why
- SEO teams track a site's Yandex position for a keyword in Moscow, Saint Petersburg, Istanbul or Almaty with serp and lr.
- Advertisers list every Yandex Direct competitor bidding on a query in a region with ads.
- Keyword tools collect Yandex autocomplete and related searches in Russian, Turkish and Kazakh.
- AI and RAG pipelines use search with lang and period as a Yandex web source next to Google or Bing.
- Media monitoring follows a topic in Yandex News newest-first with news and sort=date.
Questions developers ask before integrating
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.