Yandex Wordstat API: Keyword Volume, Trends and Regions
Yandex Wordstat API is an Apify actor (API) by CheapAPI Labs. Yandex Wordstat search volume, related keywords, trends since 2018 and demand by city. It costs $10.20 per 1,000 rows on the Apify Free plan and $6.80 on Gold, billed through your Apify account with no API key.
Compared with the most used keyword volume actor on Apify Store (about 1,500 users): 1,000 keyword volumes costs $10.20 on Free and $6.80 on Gold for Yandex data here and $12 and $8 for Google data there (Apify Store listing prices, checked October 2026). No other actor on Apify Store returns Yandex search volumes (searched October 2026).
Our prices updated 30 October 2026; competitor prices as checked in the comparison. 65 Apify users have run this actor (Apify Store count, 30 October 2026).
What does Yandex Wordstat API return?
Get Yandex Wordstat keyword data in bulk as clean JSON: the monthly search volume of every keyword (broad, phrase and exact match), up to 2,000 related keywords with their volumes, similar queries, search trends (monthly since 2018, weekly or daily) and demand by city or region. Data comes straight from Yandex, Russia's leading search engine, so it is the keyword data you need for SEO and PPC in Russia, Belarus, Kazakhstan and Uzbekistan. No Yandex account, API key, proxy or captcha solving needed.
| Quick facts | |
|---|---|
| Price | $10.20 per 1,000 rows on the Free plan, $6.80 on Gold+; no start fee |
| One row | a keyword's volume, one related/similar keyword, a whole trend series, or one region |
| Depth | up to 2,000 related keywords and 20 similar keywords per keyword |
| Filters | 1,100+ regions (city, region or country), device, excluded words, minimum volume |
| History | monthly from January 2018, weekly, or daily for the last 60 days |
| Speed | about 100 keywords per hour (Yandex's current hourly request limit); longer lists wait automatically |
Why this Actor
- Yandex's own numbers: the same counts you see on wordstat.yandex.ru, fetched in bulk, no manual copying, no browser automation, no blocked accounts.
- Real ("clean") frequency in one row: broad,
"phrase"and"!exact"match volumes side by side, charged as one row. - Keyword research in one run: up to 2,000 related keywords per seed (most searched first), plus the 20 similar queries Yandex users also searched.
- Seasonality and growth: a trend row per keyword with the full series, average, peak month, change % and year over year % (monthly trends of 13+ months).
- Local demand: searches per city or region with Yandex's affinity index (over 100 = more popular there than on average), or limit every count to the regions you target.
- Fair, predictable billing: you pay per delivered row; a keyword nobody searches costs only a $0.0016 no data fee, invalid keywords and failed requests are free, and your maximum cost per run is always respected.
One example row from a real run, shortened:
{
"id": "1e40eed40219cd70",
"type": "volume",
"keyword": "купить диван",
"phrase": "купить диван",
"searches": 663892,
"position": null,
"regionFilter": "All regions",
"device": "all",
"scrapedAt": "2026-10-05T14:46:36.494Z",
"phraseMatchSearches": 26008,
"exactMatchSearches": 23289,
"topRelatedKeyword": "купить диван недорого"
}Which fields do you get?
Every row has id (stable across runs), type, keyword (your input), phrase, searches, position, regionFilter, device and scrapedAt. Extra fields by row type:
Row type (type) |
Extra fields | Example |
|---|---|---|
volume, 1 per keyword |
searches (broad), phraseMatchSearches, exactMatchSearches (null when not requested), topRelatedKeyword |
купить диван: 663,892 / 26,008 / 23,289 |
related, queries containing the keyword |
searches, position, shareOfKeywordPercent, wordCount |
купить диван недорого: 76,468 (11.52%) |
similar, other queries of the same people |
searches, position, wordCount |
мебельный магазин: 252,693 |
trend, 1 per keyword |
period, fromDate, toDate, latestDate, averageSearches, peakDate, peakSearches, changePercent, yearOverYearPercent (monthly, 13+ months; else null), series[] |
monthly, peak 2026-08 |
region, demand by place |
regionId, regionName, regionLevel, regionSharePercent, affinityIndex |
Moscow: 83,899, affinity 113.9 |
searches is the number of Yandex searches in the last 30 days (for trend rows: the latest period). The dataset has ready made views: All rows, Search volume, Related & similar keywords, Trends, Regions. Each view shows the columns for one row type and starts with the type column (all rows stay in one dataset, so sort or filter by type in the table or your export), plus a RUN_SUMMARY record in the key value store.
How much does Yandex Wordstat API cost?
You pay per event, through your Apify account. Main price: $10.20 per 1,000 rows on the Apify Free plan and $6.80 on Gold. Every event and plan:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Keyword rowOne delivered row: a keyword's search volume (all requested match types in one row), a related or similar keyword, a trend (the whole series in one row) or a region. No start fee. | $0.0102 | $0.00906 | $0.00793 | $0.0068 |
| Lookup without dataPer statistics request made for a keyword that returned nothing to deliver (no searches, or your filters removed everything). Invalid keywords and failed requests are free. | $0.0016 | $0.0016 | $0.0016 | $0.0016 |
How do I call Yandex Wordstat API from code?
Every run is one HTTP request to the Apify API with your Apify token; the input below is the actor's own example. The synchronous endpoint returns the rows in the response for runs up to 300 seconds; for longer runs start a run and fetch its dataset.
curl -X POST "https://api.apify.com/v2/acts/cheapapi~yandex-wordstat-keyword-tool/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"keywords":["купить диван"],"reports":["volume","related"],"maxPhrasesPerKeyword":20}'With the JavaScript client:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('cheapapi/yandex-wordstat-keyword-tool').call({
"keywords": [
"купить диван"
],
"reports": [
"volume",
"related"
],
"maxPhrasesPerKeyword": 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();How does Yandex Wordstat API compare with alternatives?
There is no other Actor with Yandex search volumes in the Apify Store (searched "wordstat", "yandex keyword" and "yandex search volume", October 2026; one small Actor returns Yandex autocomplete suggestions without volumes). The closest listings return Google keyword volumes. Actor fees of public Store listings (Free plan / Gold plan), checked October 2026:
| Option | Data | 1,000 keyword volumes | Related keywords |
|---|---|---|---|
| This Actor | Yandex | $10.20 / $6.80 | yes, up to 2,000 per keyword ($0.0102 / $0.0068 each) |
| Most used keyword volume Actor (~1,500 users) | $12 / $8 | yes, at the same per row price | |
| Keyword research Actor (~400 users) | $10 | yes, $0.01 per row | |
| Batch volume Actor (~800 users) | $1.99 / $0.40 per batch of 1,000 | no |
This Actor is 15% cheaper per row than the most used keyword volume Actor on every plan. If you only need Google volumes for a list of keywords, a batch Google Actor is cheaper, but none of them has Yandex data.
What is it used for?
- SEO for Russian speaking markets: build a semantic core from seed keywords, with real (exact match) frequencies to prioritise pages.
- Yandex Direct (PPC) planning: size demand per keyword, city and device before launching campaigns; find negative keywords in related queries.
- Seasonality: see which months a product peaks and plan content, stock and budgets with year over year growth.
- Regional expansion: compare demand and affinity across cities to choose where to open, advertise or localise.
- Market and trend research: track brands, products or topics monthly, schedule the Actor and compare runs.
- Content planning: turn related and similar queries into article topics and FAQ sections.
What is not included?
- Google, Bing or other search engines, Yandex searches only.
- CPC, competition and keyword difficulty, Wordstat does not provide them.
- Search results or rankings, use a Yandex SERP Actor for positions.
- More than 2,000 related keywords or 20 similar keywords per keyword, Yandex's own limits.
- Daily data older than 60 days or monthly data before January 2018, Yandex's own limits.
What are the limits?
- Throughput: Yandex currently allows this Actor about 100 statistics requests per hour. Volume + related costs 1 request per keyword; each extra match type, the trend and the regions report add 1 each. Large lists are processed at that pace, the run waits automatically, or you can split the list across runs.
- Counts are Yandex's own statistics: estimates, not exact logs; very rare keywords may show 0.
- Up to 2,000 related and 20 similar keywords per keyword; daily trends only for the last 60 days; monthly trends from January 2018.
- The region filter applies to volume, related, similar and trend; the Regions report always covers every place.
- Region names are matched in English or Russian; when several places share a name, the larger one is used, give the numeric Yandex region ID to be exact.
Questions about Yandex Wordstat API
Is it legal?
The Actor gets its data through Yandex's official, paid keyword statistics API (Yandex Cloud Search API), not by scraping the Wordstat website. The data is aggregated search counts with no personal data. You are responsible for how you use the results, including Yandex's terms of use if you republish the numbers.
How fresh is the data?
Volumes are for the last 30 days, fetched live at run time. Monthly trends end with the last finished month, weekly with the last finished week, daily with yesterday.
Why do the volume row and the trend row show different numbers?
The volume row counts the last 30 days; the trend row's searches is the last calendar month (or week/day).
What is the difference between broad, phrase and exact match?
Broad counts every query containing the words (купить диван includes купить угловой диван недорого). Phrase ("купить диван") counts only queries made of exactly these words. Exact ("!купить !диван") also fixes each word form. SEO specialists usually plan with phrase or exact match.
Why did I get fewer related keywords than I asked for?
Yandex returns fewer for rare keywords; minSearches, excludeWords and duplicates also remove some. The keyword itself is never repeated as a related keyword (it is the volume row), so with the maximum of 2,000 you get up to 1,999 related keywords plus the volume row.
Why was I charged for a keyword with no searches?
Yandex still processed the lookup, so a small $0.0016 no data fee applies per request made: $0.0016 with the default reports, up to $0.008 with every report and match type enabled (5 requests). Invalid keywords and failed requests are free.
Can I limit counts to a city?
Yes, put city, region or country names in Regions. The Regions report itself always ranks every place (it shows where the demand is).
The run says it is waiting at the hourly limit, is something wrong?
No. Yandex limits how many statistics requests can be made per hour (about 100 at the moment, shared by all users of this Actor); the run waits and continues automatically (up to Maximum wait for each request), and nothing is charged while it waits. Platform usage while waiting is about $0.10 per hour.
Does it work for Turkey or other countries?
Wordstat counts searches made on Yandex. They are large in Russia, Belarus, Kazakhstan and Uzbekistan, and small elsewhere (Turkish keywords often show only tens of searches).
Do I need a Yandex account or API key?
No. Everything is included in the price.
Run Yandex Wordstat API on Apify
The form opens with a working example. Free Apify accounts get a small monthly allowance.