Yandex handles search for half a billion people across Russia, Turkey, Kazakhstan, and the wider CIS, and almost every SEO tool I own pretends it does not exist. If you want to know what ranks on yandex.ru for a keyword, you are usually stuck checking by hand in a browser with the right region cookie. This post covers the manual route, why it decays, and the shortcut: the Yandex Search API on Apify, which turns any query into structured JSON with organic ranks, ads, and more.
Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.
Does Yandex have a search API?
Technically yes, practically it is a hassle. Yandex offers an official Search API through its cloud platform, but it wants registration, key management, and quota agreements before you see a single result. That is why searches for “yandex search api” mostly surface hosted scrapers instead. A scraper you call like an API skips the paperwork: send a query, a domain, and a region ID, and the SERP comes back as JSON with nothing but an Apify account.
What the Yandex Search API returns
The Yandex Search API returns the full Yandex SERP as structured JSON: ranked organic results, paid ads, knowledge graph cards, inline images, and inline videos, each row tagged with an item_type.
| Field | Example | Notes |
|---|---|---|
item_type |
organic |
Seven result types, selectable per run |
position |
3 |
Rank on the page |
title |
CRM для бизнеса |
Result headline |
link |
https://example.ru/crm |
Target URL, with displayed_link alongside |
snippet |
Обзор CRM-систем... |
Description text, plus rich_snippet when present |
sitelinks |
[...] |
Sub-links under a listing |
Two dedicated verticals ride along. Yandex Images rows carry the full-size image URL, hosting page, thumbnail, and source, with type, color, orientation, size, and recency filters. Yandex Videos rows carry title, duration, views, date, source, and channel.
Who this is for
SEO teams tracking rankings in Russian-speaking markets, ad-intelligence analysts watching who buys placements on commercial keywords, and builders giving an AI agent a second search engine beyond Google.
The manual way, and where it breaks
DIY means requesting yandex.ru with the right lr region parameter, parsing the HTML, and rotating proxies once Yandex decides you are a robot, which happens fast. The markup differs by domain and language, the CAPTCHA wall arrives without warning, and every layout tweak snaps your selectors. Localization is the real killer: 6 domains, 19 interface languages, and 123,000+ region IDs multiply your test matrix into absurdity.
The faster way: run the Yandex scraper
Apify Console
- Open the Yandex Search API and click Try for free.
- Enter your query in
text, then pick a domain, language, and region. - Run it and export the dataset as JSON, CSV, or Excel.
REST
curl -X POST "https://api.apify.com/v2/acts/johnvc~Scrape-Yandex/runs?token=YOUR_APIFY_TOKEN"
-H "Content-Type: application/json"
-d '{ "text": "yandex seo tools", "yandex_domain": "yandex.com", "max_pages": 1 }'
Endpoint details are in the Apify API docs.
Scrape Yandex SERPs in Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("johnvc/Scrape-Yandex").call(
run_input={
"text": "купить ноутбук",
"yandex_domain": "yandex.ru",
"lang": "ru",
"lr": 213,
"include_ads": True,
"max_pages": 2,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item.get("item_type") == "organic":
print(item["position"], item["title"], item["link"])
lr 213 is Moscow; swap in any of the 123,000+ region IDs to localize the results.
Check keyword rankings in Moscow
Rank tracking is the bread-and-butter use. The task Check Yandex keyword rankings in Moscow runs a query against the Moscow region and returns positions and URLs you can diff over time.
Get full-size images from Yandex Images
The images vertical is genuinely useful for visual research. Search Yandex Images and get full-size image URLs returns the original image URL and its hosting page, not just thumbnails.
Track who advertises on a keyword
Track Yandex search ads for a keyword pulls the paid placements with their metadata, a cheap ad-intelligence feed for CIS markets.
Run SERP checks in 19 languages
Yandex serves languages most rank trackers never touch. One-click tasks exist per language, including English, Turkish, and Kazakh, with sixteen more listed on the Actor page.
Use Yandex search from Claude via MCP
Apify exposes the Actor over the Model Context Protocol, so Claude, Claude Code, and Cursor can run a live Yandex search mid-conversation and reason over the rows. The task Use Yandex search in Claude via MCP has the setup, and you can read more about Claude at claude.ai.
FAQ about scraping Yandex
How much does the Yandex scraper cost, and is there a free tier?
Billing is per event: about $0.08 to start a search plus $0.08 per page of results, so a typical one-page pull lands around 16 cents. New Apify accounts include free platform credit, which covers your first batches of searches without a card.
Can my AI agent run this Yandex scraper over MCP?
Yes. Connect the Apify MCP server and the Actor shows up as a callable tool, so an agent can search Yandex mid-task and work with the structured rows directly.
Can I schedule the Yandex scraper for weekly rank tracking?
Yes, and that is the sane way to track rankings. Save your query as a task, attach an Apify schedule, and each run appends fresh positions to the dataset. Start from the Yandex Search API page.
Does the scraper work in languages other than Russian?
It covers 19 interface languages across 6 Yandex domains, from yandex.ru to yandex.com.tr, and the lr region ID controls the local flavor of the results.
What will this Yandex scraper not do?
It returns what the public SERP shows and nothing else. There is no keyword search volume, no historical data you did not collect yourself, and no way to surface results Yandex simply does not serve. If you need volume numbers, pair it with a keyword tool.
More from Truffle Pig Data
Other angles on the same Actor: Yandex Search API for AI Agents on Medium, the LinkedIn write-up, and the Peerlist article.
Wrapping up
If your dashboards only watch Google, half a continent is a blind spot. Point the Yandex Search API at your keywords and see what the Russian-speaking web actually ranks.