Skip to main content

SE::DuckDuckGo - DuckDuckGo Search Engine Scraper

DuckDuckGo

Scraper overview

DuckDuckGo search results scraper. Thanks to the DuckDuckGo scraper, you can obtain large databases of links ready for further use. You can use queries in the same form as you enter them in the Dogpile search bar, including search operators (intitle, inurl, site, etc.). More details on the official DuckDuckGo Search Syntax page.

A-Parser functionality allows you to save DuckDuckGo scraper settings for future use (presets), set scraping schedules, and much more. You can use automatic query multiplication, substitution of subqueries from files, brute-forcing of alphanumeric combinations and lists to obtain the maximum possible number of results.

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

Collected data

  • Links, anchors, and snippets from search results
Collected data

Capabilities

  • Support for all DuckDuckGo search operators (intitle:, inurl:, site:, etc.). More details about search operators on the official DuckDuckGo Search Syntax page
  • Scrapes the maximum number of results provided by Bing - 10 pages of 10 elements in the search results
  • Total number of results - 100
  • Ability to scrape by selected location (Location option)
  • Ability to select the search results language (Language option)

Use Cases

  • Collecting link databases - for A-Poster, XRumer, AllSubmitter, etc.
  • Checking website indexing
  • Searching for backlinks (mentions) of websites
  • Any other options involving DuckDuckGo scraping in one form or another

Queries

You should specify search phrases as queries, for example:

Football  
test
site:a-parser.com
scraper site:a-parser.com
test -site:tests.com
IoT filetype:pdf

Query substitutions

You can use built-in macros for query multiplication; for example, if we want to get a very large database of forums, we specify several main queries in different languages:

forum
forum
foro
论坛

In the query format, we specify a character brute-force from a to zzzz; this method allows for maximum rotation of search results and obtaining many new unique results:

$query {az:a:zzzz}

This macro will create 475254 additional queries for each original search query, which in total will give 4 x 475254 = 1901016 search queries—an impressive figure, but no problem at all for A-Parser. At a speed of 2000 queries per minute, such a task will be processed in just 16 hours.

Using operators

You can use search operators in the query format, so they will be automatically added to each query from your list:

site:$query

Output results examples

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

Link list export

Same as in SE::Google.

Same as in SE::Google.

Same as in SE::Google.

Same as in SE::Google.

Checking link indexing

Same as in SE::Google.

Saving in SQL format

Same as in SE::Google.

Result dump to JSON

Same as in SE::Google.

Results processing

A-Parser allows processing results directly during scraping; in this section, we have listed the most popular cases for the DuckDuckGo scraper.

Same as in SE::Google.

Same as in SE::Google.

Extracting domains

Same as in SE::Google.

Removing tags from anchors and snippets

Same as in SE::Google.

Same as in SE::Google.

Possible settings

Parameter nameDefault valueDescription
Pages count5Number of pages to scrape (from 1 to 10)
RegionUS (English)Location selection
LanguageEnglish (United States)Language selection
Safe searchModerateAbility to enable "Safe search"
Serp timeAny timeSearch period
Use HTTP/2Determines whether to use HTTP/2 instead of HTTP/1.1
User agentMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0User-Agent header when requesting pages