Skip to main content

SE::Yandex::Position - Checking website positions by keywords in Yandex

Overview of the scraper

The scraper for checking website positions by keywords in Yandex. Thanks to the SE::Yandex::Position scraper, you can automatically check positions in Yandex search results using your own domain databases. Using the SE::Yandex::Position scraper, you can easily, accurately, and quickly determine the website's position in Yandex. Checking positions in Yandex is performed in multi-threaded mode, with the possibility of using captcha solving services (AntiCaptcha or any other supporting their API). The Yandex positions scraper is always up-to-date, as it is regularly updated by our specialists.

The functionality of A-Parser allows you to save the scraping settings of the SE::Yandex::Position scraper for further use (presets), set a scraping schedule, and much more. You can use automatic substitution of subqueries from files.

Saving results is possible in the form and structure that you need, thanks to the built-in powerful template engine Template Toolkit which allows you to apply additional logic to the results and output data in various formats, including JSON, SQL, and CSV.

Use cases for the scraper

Collected data

  • The website's position and a link to the website page
  • A list of all website positions and links to pages
Collected dataExample of data collection


  • All capabilities of the SE::YandexSE::Yandex scraper
  • Automatically stops scraping when the website is found
  • Supports subdomain search
  • Ability to compare the searched position by domain, by main domain, and by full link
  • Collecting positions for multiple domains at once

Usage scenarios

  • Checking positions of your own websites and competitors' websites
  • Searching for high-traffic website pages


As queries, it is necessary to specify the domain of the website you are looking for and the search query separated by a space, for example: новости новости онлайн

If you need to check one website for a list of queries, you can specify the domain in the query format (Query format): $query

Or simply use a list of keywords. To use several domains in the query at once, you need to specify a list of domains separated by commas and a keyword separated by a space, for example:,, новости лента

The results will be written to the array $bulkcheck. The Stop when found option is also supported, scraping will end if positions are found for all domains.

Query Substitutions

You can use built-in macros for automatic substitution of subqueries from files, for example, we want to check sites/site against a database of keys, let's specify several main queries:

In the query format, we will specify a macro for substituting additional words from the Keywords.txt file, this method allows checking the database of sites against a database of keys and getting the positions as a result:

$query {subs:Keywords}

This macro will create as many additional queries as there are in the file for each original search query, which in total will give [number of original queries (domains)] x [number of queries in the Keywords file] = [total number of queries] as a result of the macro's work.

Output Options Examples

A-Parser supports flexible formatting of results thanks to the built-in Template Toolkit, which allows it to output results in any form, as well as in structured formats, such as CSV or JSON

Exporting a list of positions

Obtaining the result in the form of:

searched domain - key: position number in the search results

Result format:

$domain - $key: $position\n

Example of the result: - новости: 3 - новости онлайн: 13

Simultaneous checking of multiple domains (bulk check)

Information on all domains when checking multiple domains simultaneously is contained in the array $bulkcheck.

Result format:

$bulkcheck.format('$domain - $position\n')

Example of the query:,, новости лента

Example of the result: - 1 - 4 - 0

Similarly as in SE::Yandex.

Similarly as in SE::Yandex.

Similarly as in SE::Yandex.

Keyword competition

Similarly as in SE::Yandex.

Checking link indexing

Similarly as in SE::Yandex.

Saving in SQL format

Similarly as in SE::Yandex.

Dumping results to JSON

Similarly as in SE::Yandex.

Results Processing

A-Parser allows you to process results directly during scraping, in this section we have provided the most popular cases for the scraper SE::Yandex::Position

Saving domains without zero positions

The example of simultaneous checking of several domains (see above in the output options examples) was taken as a basis and a filter was added.

Add a filter and in the drop-down list select the position output variable. Choose type: >. Next, you need to write 0 in Number. With such a filter, you will be able to remove all results with a zero position.

Download example

How to import an example into A-Parser


See also: Results filters

Similarly as in SE::Yandex.

Similarly as in SE::Yandex.

Extracting domains

Similarly as in SE::Yandex.

Removing tags from anchors and snippets

Similarly as in SE::Yandex.

Similarly as in SE::Yandex.

Possible settings

Supports all settings of the scraper SE::YandexSE::Yandex, as well as additionally:

Parameter nameDefault valueDescription
Pages count1Number of search result pages to parse (from 1 to 25)
Links per page20Number of links in search results per page (10 / 20 / 30 / 50)
Result format$domain - $key: $position\nDefault output format of the result
Stop when foundStop parsing if the domain is found, will not go to the next pages
Match typeExact domainAbility to compare the searched position by domain, by top-level domain, and by full link (Exact domain / Top level domain / Exact url)