# Yandex Wordstat # Wordstat [Wordstat](https://wordstat.yandex.ru/) lets you view statistics on search queries to Yandex. Use it to monitor the popularity of your queries over time and from region to region. You can also see the top queries with keywords and other user queries related to the topic. You must be logged in to use Wordstat.
#| || [![interface-user.png](https://yandex.com/support2/wordstat/en/_assets/interface-user.png%20=70x)](interface/new.md) **[Interface guide](https://yandex.com/support2/wordstat/en/interface/new.md)** * Wordstat | [![definitions.png](https://yandex.com/support2/wordstat/en/_assets/definitions.png%20=70x)](content/operators.md) **[Operators](https://yandex.com/support2/wordstat/en/content/operators.md)** * information on operators || || [![key-components.png](https://yandex.com/support2/wordstat/en/_assets/key-components.png%20=70x)](content/faq.md) **[Questions and answers](https://yandex.com/support2/wordstat/en/content/faq.md)** * get rid of a CAPTCHA * blocked access * system asks me to enter my username and password * which operators does the service support? | [![organize-search.png](https://yandex.com/support2/wordstat/en/_assets/organize-search.png%20=70x)](content/feedback.md) **[Feedback](https://yandex.com/support2/wordstat/en/content/feedback.md)** * how to contact support || |# # Wordstat You must be logged in to use the Wordstat interface at . Enter a word or phrase, and Wordstat will show you the stats on search queries containing this word or phrase, including all possible forms, the stats by region or top query lists. ![user-interface.png](https://yandex.com/support2/wordstat/_assets/user-interface.png){.border-yes} ## Dynamics In the **Dynamics** tab you will by default see a chart and a table containing the data for the last 2 years displayed by month: - Number of queries, containing the given phrase. - Percentage of total queries to Yandex. You can change the granularity of the report to daily or weekly; you can also select the desired period range in the date picker. A month here means a calendar month, a week means a period from Monday to Sunday. In the monthly or weekly display, you can select a period range from three months or three weeks correspondingly up to five years. The earliest date available for use is January 2018. In the daily display the data is shown for the last 60 days. You can filter the data: - By region. - By device type (**Desktops**, **Smartphones**, **Tablets**). #### How to zoom in on the chart To zoom in on the chart press and hold the left mouse button and select a zone on the chart. To zoom back out, click on the button in the upper right corner of the chart. You can download the data in a CSV file — to do so, click **Download**. ## Regions In the **Regions tab**, you can see the query stats distribution by world regions for the last 30 days. You can select granularity on the upper left to choose between all, regions or cities. The data is displayed as a table with the following fields: - **Number of queries** — total number of queries containing the given phrase in the given region. - **Percentage of total queries, %** — a percentage of queries containing the given phrase from the total number of queries to Yandex in the given region. - **Interest index, % (affinity index)** — the ratio between the share of the selected queries in a region or city and their share in all queries to Yandex. If the index is 100%, it means that the level of interest in a query topic in a region or city does not stand out, while an over 100% index means that the interest level there is higher than the average. You can filter the results by device type (**Desktops**, **Smartphones**, **Tablets**). You can download the data in a CSV file — to do so, click **Download**. ## Top queries In the **Top queries** tab you can find the data on the most popular queries containing the given phrase for the last month as well as on the queries similar to the given. You can select the region of the query or filter the data by device type (**Desktops**, **Smartphones**, **Tablets**). You can download the data in a CSV file — to do so, click **Download**. # Operators In [Wordstat](https://wordstat.yandex.ru/), you can use operators to refine a search query, keyword, or negative keyword. You can combine operators. Supported operators: `!`, `+`, `" "`, `[]`, `()`, and `|`. ## How operators work The table below lists all available operators. It also shows examples of keywords and search queries that will or will not trigger your ads for which such operators are present. #| || **Operator** | **What it does** | **Keyword example** | **When we show ads** || || `!` | Matches the form of the word (case, number, and tense). | `buy a !dog` | ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _buy a dog_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _buy dog food_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _buy dogs_ || || `+` | Matches stop words (auxiliary parts of speech, pronouns, and any other words that are not essential to the meaning). | `work +from home` | ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _work from home_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _work at home_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _work home_ || || `" "` | Matches the exact number of words. Ads are triggered by search queries that contain the keyword without any additional words. | `"buy cars"` | ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _buy car_ ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _car buy_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _buy red car_ || || `[]` | Matches the order of words. This operator will match any grammatical forms and stop words found inside the brackets. | `tickets [from london to paris]` | ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _tickets from london to paris_ ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _airline tickets from london to paris_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _tickets from paris to london_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _tickets london paris_ ![button-cancel](https://yandex.com/support2/wordstat/_assets/button-cancel.png) _tickets from london to CDG paris_ || || `()` and ```|``` | Groups words in complex search queries. | ```order (sushi|pizza)``` | ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _order sushi_ ![button-ok](https://yandex.com/support2/wordstat/_assets/button-ok.png) _order pizza_ || |# For more examples, see [Yandex Direct Help](https://yandex.ru/support/direct/en/keywords/symbols-and-operators). In Wordstat, the **Regions** and **Top queries** tabs support all operators. The **Dynamics** tab only supports the `+` operator. In Keyword statistics, the **By keyword** and **By region** tabs support all operators, while the **Query history** tab only supports the `+` operator. # Stop word rules ## Changes Stop words are auxiliary parts of speech or pronouns that are automatically excluded from the keyword when selecting which ads to serve. For example, for the phrase "how and when to travel to mars", ads will be served in response to queries that contain the keyword "travel mars". The words "how", "and", "when", and "to” will be excluded because they do not carry any additional meaning. However, stop words can sometimes have additional meaning, and omitting them can dramatically change the meaning of the keyword. For example, for the TV series "In the Heat of the Night", the keyword is "in the heat of the night". The prepositions "in" and "of" are stop words but they're crucial for preserving the reference — if you exclude them, ads will be served for all queries that contain the keyword "heat night". Previously, to exclude impressions for irrelevant queries, stop words in keywords had to be preserved manually, with special "+" and "!" operators. Now Wordstat does this for you automatically. ## How it works If a user didn't preserve stop words in a keyword, Wordstat will do it automatically. The ad can be displayed for a keyword with preserved prepositions, conjunctions, and so on. In the statistics, such an impression is attributed to the keyword with the word-by-word match type because all the words from the keyword were used. If a user did preserve the stop words, nothing changes: only queries with all words will be counted in the reports. ## Let's take an example **Keyword "in the heat of the night"** : Previously, impressions were served for queries containing the phrase “heat night”. Now, impressions for word-by-word matching will only happen with queries containing the phrase "in the heat of the night". There will be no impressions for queries only with the words "heat night". **Keyword "!in !the heat !of !the night"** : As before, impressions will be served for queries containing "in the heat of the night". Even if an error is made when preserving stop words, Wordstat detects it and uses the correct variant. As a result, nothing changes in the reports, and impressions are counted for the specified keywords. In addition, Wordstat can now display reports for keywords that consist entirely of stop words. ## What happens to "+" and "!" operators that were used to preserve stop words Special "+" and "!" operators for preserving stop words and their word forms, for example, a singular or plural form, will work the same way. You can continue using them to enforce stop words in keywords. But skipping this step won't influence report accuracy. Other Wordstat operators will continue working as before. ## How stop words will be applied in negative keywords As before, if you enter a stop word in a negative keyword, this word will automatically be preserved by the system when the keyword is saved. There will be no impressions for queries containing a negative keyword with a stop word. If you have any questions about the new approach to stop words, please contact [support](https://yandex.ru/support/direct/en/troubleshooting/other). # Wordstat API The API is used to receive Wordstat data in a format suitable for automatic processing. The current supported format is JSON. The API is accessed over HTTPS. URL for API requests: `https://api.wordstat.yandex.net`. To access the API: 1. [Get](https://yandex.com/support2/wordstat/en/api-wordstat.md#OAuth) an OAuth token. 2. [Register](https://yandex.com/support2/wordstat/en/api-wordstat.md#ClientId) the `ClientId`. 3. Pass the token in each request in the Authorization HTTP header: `Authorization: Bearer `. ## How to connect to the Wordstat API ### Step 1. Log in with Yandex ID 1. If you don't have a Yandex username, create a [Yandex ID account](https://passport.yandex.com/auth/reg/portal). 2. Log in with [Yandex ID](https://passport.yandex.com/auth). ### Step 2. Get an OAuth token. {#OAuth} On the app page, [create an app](https://oauth.yandex.com/client/new/id) and obtain a token: 1. Under **Redirect URI**, select **Enter URL for debugging**. ![api-redirect-uri.png](https://yandex.com/support2/wordstat/_assets/api-redirect-uri.png%20=450x) 2. Select access to at least one data type. ![api-access-to-data.png](https://yandex.com/support2/wordstat/_assets/api-access-to-data.png%20=450x) ### Step 3. Register the ID {#ClientId} On the page of the created app, find the `ClientId`. ![api-client-id.png](https://yandex.com/support2/wordstat/_assets/api-client-id.png%20=450x) ### Step 4. Submit a request for API access {#access-request} To connect to the API, contact the Yandex Direct support, providing your username and `ClientId`. {% cut "Connection request form" %} {% endcut %} ## Usage limitations API access is limited by a quota. There are two quota types: - Total quota on the entire API. If you exceed it, you will receive the following HTTP response: `503 Service unavailable, try again later`. - Personal quota linked to an OAuth token with limitations: - On the number of requests per second (avoid initiating too many requests at the same time not to overload the service). - On the number of requests per day. If you exceed it, you will receive the following HTTP response: `429 Quota limit exceeded, try again later. Time to refill: N seconds`. The response will contain an estimated time when you can access the API again. # Structure of the API The Wordstat API includes the following methods: - `/v1/getRegionsTree`; - `/v1/topRequests`; - `/v1/dynamics`; - `/v1/regions`. Requests consume the total quota on requests to the service, as well as the personal quota on the number of requests per second. Requests are made using the HTTP POST method. Parameters are passed in JSON format in the request body. To properly process the request body, use the header `Content-type: application/json`. ## `/v1/getRegionsTree` The `/v1/getRegionsTree` method returns a JSON object describing a set of Wordstat-supported regions. Other API methods accept a list of region IDs, you can get them here. Without parameters. Doesn't consume the daily quota on requests. ## `/v1/topRequests` The `/v1/topRequests` method returns the last 30 days data about popular queries containing the specified keyword and queries that are similar to the specified one. #| || **Parameter** | **Description** | **Required** || || `phrase` | Keyword | Yes || || `regions` | A list of IDs of the regions a query was made from. You can get allowable values from the [`/v1/getRegionsTree` method](https://yandex.com/support2/wordstat/en/api-structure.md#/v1/getRegionsTree). By default, queries from any region are counted. | No || || `devices` | A list of device types a query was made from. Possible values: - `all`; - `desktop`; - `phone`; - `tablet`. The default value is `all`. | No || |# Request example: ``` curl -XPOST -H 'Content-type: application/json;charset=utf-8' -H 'Authorization: Bearer ' -d '{"phrase":"яндекс","regions":[213,2],"devices":["phone"]}' https:// api.wordstat.yandex.net/v1/topRequests ``` Response format: the `topRequests` array consisting of key-value pairs (`phrase`: keyword, `count`: number of queries made). {% cut "Response example" %} ``` { "topRequests": [ { "phrase": "yandex", "count": 8275401 }, { "phrase": "yandex games", "count": 632440 }, { "phrase": "yandex maps", "count": 579075 }, { "phrase": "yandex market", "count": 539802 }, { "phrase": "yandex mail", "count": 377566 } ] } ``` {% endcut %} The method uses a single unit of the daily quota on requests. ## `/v1/dynamics` The `/v1/dynamics` method returns the frequency of queries over time for a given keyword. #| || **Parameter** | **Description** | **Required** || || `phrase` | Keyword | Yes || || `period` | The period of aggregation of the number of queries. Possible values: - `monthly`: Details by month; - `weekly`: Details by week; - `daily`: Details by day. | Yes || || `fromDate` | The start of the period data is requested for, in YYYY-MM-DD format. If details by day are selected, you'll get data for the last 60 days. If details by week and month are selected, you'll get data since January 1, 2018. For `period: monthly`, this parameter must contain the first day of the month. For `period: weekly`, this parameter must contain a date that corresponds to a Monday. | Yes || || `toDate` | The end of the period data is requested for, in YYYY-MM-DD format. For `period: monthly`, this parameter must contain the last day of the month. For `period: weekly`, this parameter must contain a date that corresponds to a Sunday. By default, the following values are used: - For `period: monthly`: The end of the last month. - For `period: weekly`: The last Sunday. - For `period: daily`: Yesterday's date. | No || || `regions` | A list of IDs of the regions a query was made from. You can get allowable values from the [`/v1/getRegionsTree` method](https://yandex.com/support2/wordstat/en/api-structure.md#/v1/getRegionsTree). By default, queries from any region are counted. | No || || `devices` | A list of device types a query was made from. Possible values: - `all`; - `desktop`; - `phone`; - `tablet`. The default value is `all`. | No || |# Request example: ``` {"phrase":"yandex","period":"weekly","fromDate":"2025-02-03","toDate":"2025-04-06","regions":[213,2],"devices":["phone"]} ``` Response format: the `dynamics` array with the date (`date`), the total number of queries containing the given keyword (`count`), and the share of the number of such queries from the total number of queries to Yandex. {% cut "Response example" %} ``` { "dynamics": [ { "date": "2025-02-03", "count": 1910301, "share": 0.6030092668804485 }, { "date": "2025-02-10", "count": 1926557, "share": 0.6092331204174273 }, { "date": "2025-02-17", "count": 1905623, "share": 0.6088345666509491 }, { "date": "2025-02-24", "count": 1897645, "share": 0.6019076028335435 }, { "date": "2025-03-03", "count": 1879813, "share": 0.6006963056742451 }, { "date": "2025-03-10", "count": 1931583, "share": 0.5929364330818319 }, { "date": "2025-03-17", "count": 1933021, "share": 0.585401132607149 }, { "date": "2025-03-24", "count": 1953561, "share": 0.593108598108686 }, { "date": "2025-03-31", "count": 1909107, "share": 0.5748788349658039 } ] } ``` {% endcut %} The method uses a single unit of the daily quota on requests. ## /v1/regions The `/v1/regions` method returns the distribution of the number of queries containing the given keyword globally by region for the last 30 days. #| || **Parameter** | **Description** | **Required** || || `phrase` | Keyword | Yes || || `regionType` | Show query distribution only by city, only by region, or everywhere. Possible values: - `cities`; - `regions`; - `all`. The default value is `all`. | No || || `devices` | A list of device types a query was made from. Possible values: - `all`; - `desktop`; - `phone`; - `tablet`. The default value is `all`. | No || |# Request example: ``` {"phrase":"yandex","regionType":"cities","devices":["phone"]} ``` Response format: the `regions` array with the region ID (`regionId`), the number of queries containing the given keyword in the region (`count`), the share from all queries to Yandex in the region (`share`), and the interest index (as a percentage): the ratio between the share of the selected queries in the region and their share across the country (`affinityIndex`). {% cut "Response example" %} ``` { "regions": [ { "regionId": 2, "count": 2330855, "share": 0.5818950367758946, "affinityIndex": 123.75386731541778 }, { "regionId": 4, "count": 113869, "share": 0.48076034011126784, "affinityIndex": 102.24516034763612 }, { "regionId": 11268, "count": 3160, "share": 0.24667996864978625, "affinityIndex": 52.46238269843529 }, { "regionId": 5, "count": 126737, "share": 0.5177023552746863, "affinityIndex": 110.10176154538539 }, { "regionId": 6, "count": 141108, "share": 0.5302251202210722, "affinityIndex": 112.7650263846661 }, { "regionId": 11270, "count": 2763, "share": 0.19726428773884294, "affinityIndex": 41.95295877786469 }, { "regionId": 21510, "count": 12568, "share": 0.5833962313197623, "affinityIndex": 124.0731321632944 } ] } ``` {% endcut %} The method uses two units of the daily quota on requests. # Questions and answers On this page, you will find answers to frequently asked questions about the service. ## How to get rid of a CAPTCHA A CAPTCHA (an image and a field next to it where you enter the characters from the image) can appear if you access the service too often or are located outside the Commonwealth of Independent States, or if your browser cannot save the required cookie file. Yandex does not have the technical means to manually remove the CAPTCHA. Please check that you have [cookies](https://yandex.ru/support/common/browsers-settings/browsers-cookies.html) and [JavaScript](https://yandex.ru/support/common/browsers-settings/browsers-java-js-settings.html) enabled in your browser. Make sure that the required cookie file has been downloaded to your browser. To do this, click , go to **Technical information** → **Your browser cookies**, and try to find `fuid01` there. If `fuid01` isn't there, that means cookies are blocked. Your cookies might be blocked by a firewall or browser extension that limits the display of page content (for example, AdBlock). Try to find and disable these blockers. If you are sure that everything is configured correctly and the CAPTCHA is still appearing, reduce the number of times you access the service. The CAPTCHA will disappear automatically. ## Blocked access Access may have been restricted due to a violation of the [License to use Yandex Search Engine](https://yandex.ru/legal/termsofuse) or because your computer is infected with a virus that creates a high load for Yandex services. Please read the [License to use Yandex Search Engine](https://yandex.ru/legal/termsofuse) and make sure that your computer or your subnet computers do not use apps or programs that violate the listed conditions. Pay particular attention to Clause 2.3. Be sure to check your computer for viruses. You can use an antivirus tool like [CureIt! from Dr.Web](http://www.freedrweb.com/cureit) or the [Kaspersky Lab](http://www.kaspersky.ru/) antivirus. In addition to your regular antivirus software, it's recommended that you perform an additional scan using a third-party scanner, because antivirus programs use different virus databases. {% note alert %} If you connect to the internet via a shared Wi-Fi hotspot or use a different type of connection that allows several computers to connect to the internet using a single IP address, scan all computers sharing the same IP for viruses. {% endnote %} If you are sure that the [License conditions](https://yandex.ru/legal/termsofuse/) have not been violated and that the computers on your subnetwork are not infected, wait for a while. Access to the service will become available automatically within 14 days. It's technically impossible to unblock access before that. ## The system asks me to enter my username and password You must be logged in to use [Wordstat](https://wordstat.yandex.ru/). Enter your username and password to continue. ## Which operators does the service support? You can use the following [operators](https://yandex.com/support2/wordstat/en/operators.md): `!`, `+`, `" "`, `[]`, `()`, and `|`. In Wordstat, the **Regions** and **Top queries** tabs support all operators. The **Dynamics** tab only supports the `+` operator. In Keyword statistics, the **By keyword** and **By region** tabs support all operators, while the **Query history** tab only supports the `+` operator. # Feedback ## Still have questions? {#ask-us}
{% cut "Call" %} You can reach us from 10:00 to 19:00 GMT +3 (Moscow time) at: **Moscow**: [+7 495 780-65-20](https://yandex.com/support2/wordstat/en/tel:+74957393777) **Russian regions**: [8 800 234-24-80](https://yandex.com/support2/wordstat/en/tel:88002342480), ext. 9 (free within Russia) {% endcut %}
{% cut "Write a message" %} {% endcut %}