Skip to main content

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

Overview of the DuckDuckGo Position parser

The parser checks website positions by keywords in DuckDuckGo. Thanks to the SE::DuckDuckGo::Position parser, you can automatically check positions in DuckDuckGo search results using your own domain databases. Using the SE::DuckDuckGo::Position parser, you can easily, accurately, and quickly determine the position of a website in DuckDuckGo.

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

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

List of collected data

  • Website position and link to the website page
  • List of all website positions and links to the pages

SE::DuckDuckGo::Position parser collects the following data


  • All features of the SE::DuckDuckGoSE::DuckDuckGo parser
  • Automatically stops parsing when the website is found
  • Supports subdomain search
  • Ability to compare the desired position by domain, by main domain, and by full link
  • Collecting positions for several domains at once

Use cases

  • Checking positions of your own websites and competitors' websites
  • Finding traffic pages of a website

Query examples

  • The queries should include the domain of the website being searched 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

And use a simple list of keywords as queries.

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

The results will be saved in the $bulkcheck array. The Stop when found option is also supported, parsing will stop if positions are found for all domains.

Query substitutions

You can use built-in macros for automatic substitution of subqueries from files. For example, if you want to check websites/website by a keyword database, specify several main queries:

In the query format, specify a macro for substituting additional words from the Keywords.txt file. This method allows you to check a website database by a keyword database and get 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 will result in [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.

Result output options

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

Exporting a list of positions

Getting the result in the format:

searched domain - key: position number in the search results

Result format:

$domain - $key: $position\n

Result example: - новости онлайн: 13 - новости : 26 - новости: 1 - А-Парсер: 1

Simultaneous checking of several domains (batch checking)

Information about all domains during simultaneous checking of several domains is contained in the $bulkcheck array.

Result format:

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

Query example:,, news lenta

Result example: - 2 - 6 - 0

Similar to SE::Google.

Similar to SE::Google.

Similarly to SE::Google.

Competition of keywords

Similarly to SE::Google.

Similarly to SE::Google.

Saving in SQL format

Similarly to SE::Google.

Dumping results in JSON

Similarly to SE::Google.

Results processing

A-Parser allows processing results during parsing, in this section we have provided the most popular cases for the SE::DuckDuckGo::Position parser.

Saving domains without zero positions

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

Add a filter and select the output position variable in the drop-down list. Select the type: >. Then you need to enter 0 in "Number". With this filter, you can remove all results with zero position.

Download example

How to import an example into A-Parser



See also: Results filters

Similarly to SE::Google.

Similarly to SE::Google.

Extraction of domains

Similarly to SE::Google.

Removing tags from anchors and snippets

Similarly to SE::Google.

Similarly to SE::Google.

Possible settings

Supports all settings of the SE::DuckDuckGoSE::DuckDuckGo parser, as well as additionally:

Parameter nameDefault valueDescription
Result format$domain - $key: $position\nDefault result output format
Stop when foundStop parsing if the domain is found, will not move on to the next pages
Match typeExact domainPossibility to compare the searched position by domain, by main domain and by full link (Exact domain / Top level domain / Exact url)