DuckDuckGo Search Scraper avatar

DuckDuckGo Search Scraper

Pricing

Pay per usage

Go to Apify Store
DuckDuckGo Search Scraper

DuckDuckGo Search Scraper

A robust, high-performance utility designed for developer automation, data integration, and AI training. Features built-in captcha bypass, headful/headless browser execution, and proxy support to scrape Duckduckgo Search data seamlessly, reliably, and at scale.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

codingfrontend

codingfrontend

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Apify actor that scrapes organic search results from DuckDuckGo for any query. Extracts title, link, snippet, displayed URL, domain, and date from search results.

Features

  • Scrapes DuckDuckGo search results with pagination support
  • Extracts rich data: title, link, snippet, displayed URL, domain, and date
  • Configurable result count (up to 500)
  • Region/locale support for localized results
  • Automatic ad filtering (removes sponsored results)
  • Proxy support for reliable execution on Apify platform

Input

FieldTypeDescriptionDefault
queryStringThe search query to look up on DuckDuckGo"artificial intelligence"
maxItemsIntegerMaximum number of search results to scrape (1-500)50
regionStringDuckDuckGo region code for localized results (e.g. us-en, uk-en, in-en, de-de)"us-en"
proxyConfigurationObjectProxy settings for the scraper{ "useApifyProxy": true }

Example Input

{
"query": "artificial intelligence",
"maxItems": 50,
"region": "us-en",
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output

The scraper stores results in the default dataset. Each result contains:

FieldTypeDescription
positionIntegerThe ranking position of the search result
titleStringThe title of the search result
linkStringThe URL of the search result
displayedUrlStringThe URL as displayed in search results
snippetStringThe text snippet / description
domainStringThe domain name of the result URL
dateStringThe date shown alongside the result (if available)
searchQueryStringThe search query used
searchRegionStringThe region code used for the search
scrapedAtStringISO timestamp when the result was scraped

Example Output

{
"position": 1,
"title": "Artificial intelligence - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Artificial_intelligence",
"displayedUrl": "en.wikipedia.org/wiki/Artificial_intelligence",
"snippet": "Artificial intelligence (AI) is the capability of computational systems to perform tasks typically associated with human intelligence...",
"domain": "en.wikipedia.org",
"date": "",
"searchQuery": "artificial intelligence",
"searchRegion": "us-en",
"scrapedAt": "2026-02-28T22:18:17.743Z"
}

How It Works

  1. Navigates to DuckDuckGo lite version using Firefox (better anti-detection)
  2. Types the search query and submits the form
  3. Parses organic search results from the table-based layout
  4. Clicks "Next Page" to load additional results until maxItems is reached
  5. Filters out ads and tracking redirect links

Running Locally

cd duckduckgo-search-scraper
npm ci
npm start

Configure input via storage/key_value_stores/default/INPUT.json.

Running on Apify

apify push
apify call kumarlakshmanan/duckduckgo-search-scraper --input-file storage/key_value_stores/default/INPUT.json