Why rankings in Yandex may not match
Except for general reasons rankings may not match with SERP there are some peculiarities in Yandex that must be taken into account while checking rankings manually.
Location
A search location must be the same you've added to the project. A common mistake is adding a technical location to the project, e.g. the USA, and checking rankings in New York. These are different search locations, and they have different SERPs. A website's rankings in these regions may differ.
An lr parameter is responsible for a location in Yandex. It shows in which region you check rankings and you can change it to get the SERP you need. For example, location Russia has lr=225, and Moscow's lr is lr=213. Check in Settings what location you've added.

Checking with rstr
There's only one parameter in Yandex responsible for a location: lr. Some people check rankings with rstr parameter by pressing Advanced Search and picking a location there, but it's a mistake: rstr shows a website selection with a preference for a selected location, but it's not the location SERP itself. There must be no rstr in the browser address bar, only the lr with the location you need.
Example of the wrong SERP link for checking rankings in Moscow: https://yandex.ru/search/?text=%D0%BF%D0%B8%D1%86%D1%86%D0%B0&lr=2&rstr=‑213
Example of the right SERP link for checking rankings in Moscow: https://yandex.ru/search/?text=%D0%BF%D0%B8%D1%86%D1%86%D0%B0&lr=213
Different ranks in different sessions
Sometimes a website rank differently in different browser sessions and, therefore, for different users. For example, your website can have the 3rd position when you check it in your browser, 20th position for your friend and 100+ position for your prospective customer from New York. And all three times the rankings are checked the right way: in the incognito mode, with the right location, without rstr.
You can reproduce this case on your own. To do so open a new window in the private mode, check rankings and close the window. Then open a new incognito window, check rankings and so on, or clear cookies after every check,
We check rankings in real time, so they are relevant at the time of checking for a session, and you see a rank Topvisor crawler got at the time it checked rankings. If a website's rankings are volatile in different sessions, they can differ if you check rankings again, because for every check a crawler "opens" a new window in the incognito mode and check rankings without personalization.
This situation can also be related to search volatility. What is SERP volatility →
But it can persist after the SERP is stable. In this can you should work more on website optimization. If the website's SEO is good and it firmly ranks in Top, its rankings will be about the same in all sessions and for all users.
At first glance, it seems that there's no way the website that ranks, for example, on the first SERP page, can fall below Top-50 or Top-100. But in fact, this is really possible, and we've seen more than once while performing manual checks, how a website that's been in Top-10, completely drops out of the Top in the next session within a minute. If you suspect your website is also volatile in the search results, contact us — we'll check everything and show these "jumps" on the screenshots of your site.
«Multi‑armed Bandit»
Mounting in Top is affected by different factors, such as website domain age, URL usability, bounce rate etc. Usually there are really old and convenient for most search users websites at the SERP Top. So how a young and promising newcomer can get ranked in Top if thier website ranks far from popular Tops users reach and they just can't accumulate enough statistics of clicks, interactions and bounces?
There's an algorithm in Yandex called «Multi‑armed Bandit» which is designed to give a chance to the new websites and shuffle SERP. Some URLs get higher in Top so that Yandex makes out if it useful for users and accumulate statistics of visits. SEO‑specialists call it «tossing». After that the website get back down. If you check rankings the very right moment the website was on its highest, you'll see that in the report, even if in a minute after «Bandit» lowered the site.
After several «tosses» a website can mount on the new positions, if the experience was positive and Yandex considered a site useful; or it can drop lower than it ranked before.
Yandex Search API and SERP desynchronization
Topvisor, like other rank tracking tools, check them via Yandex Search API, the official technology for checking positions from Yandex, and when checked manually, positions are checked in SERP — the so-called "live search results".
Sometimes a website has stable rankings, but when checked via Yandex Search API, it has one position, and when checked manually, it has a completely different one. We call it desynchronization between Search API and SERP. It occurs because the results in Yandex Search API are updated faster than SERP results, since there are no ads and SERP features there, but, as a rule, after some time, the results are synchronized and the positions match.
Desynchronization is not an error. Yandex's official position is that they do not intend to make API results completely identical to the SERP search results, and they also confirm they cannot guarantee a complete match in SERP and API results.
Still, rank tracking tools cannot help but use Yandex Search API, as it allows to check millions of keywords quickly and without captcha. Parsing SERP is very difficult: there are always captchas, and Yandex fights against it in every possible way, adding new types of captchas and making them more complicated; and checking via SERP is several times more expensive, since in SERP you can only get 10 results per request, and via API — 100 per one request.
However, as an exception, we can check your projects in SERP. We do this only after detailed analysis of the problem and excluding other causes of discrepancies ("jumps" in results, search volatility, incorrect parameters while manual checking, etc.). If you notice the positions in your project do not match the manual check, contact us so that we can check everything.
Spellchecking
All search keywords in Yandex are checked for misspelling and typos. By default both in Topvisor and in Yandex spellchecking is enabled. If you disabled spellchecking in the project Settings, make sure you check rankings for a uncorrected keyword. For that press Cancel under the search bar.
How to change spellchecking settings →
Filters
In Yandex search settings there are 3 filter modes: Moderate filter (by default), Family mode and No filter. Make sure the filter you've chosen is the same in Yandex settings.