DuckDuckGo Scraper
DuckDuckGo search scraper that extracts comprehensive search results including organic results, ads, knowledge graph, news, inline images, videos, and related searches. Features localization, safe search, and date. Perfect for market research, SEO analysis, and competitive intelligence.
MEDIAN LAGon demand
PARAMETERS5
TOTAL USERS53
MONTHLY ACTIVE2
TOTAL RUNS607
RUNS SUCCEEDED100.0%
RATING5.0 (3)
Input parameters
| PARAMETER | TYPE | REQ | DEFAULT | DESCRIPTION |
|---|---|---|---|---|
| query | string | yes | — | Search DuckDuckGo for this term. |
| localization | enum | no | us-en | Set the region and language for search results (e.g. `us-en`, `uk-en`, `fr-fr`, `de-de`, `jp-jp`). |
| safe | enum | no | moderate | Set the safe-search filter level. |
| date_filter | string | no | — | Filter results by date. |
| max_pages | integer | no | 2 | Set the maximum number of result pages to fetch. — drives your bill |
Worked examples
{
"query": "The Siliconimist Podcast"
}
Coverage
42
localization / region — us-en uk-en ca-en au-en de-de +37
Tasks
Saved runs with the inputs already filled in — each one a standalone page and a working configuration example.
Code
curl
curl -X POST "https://api.apify.com/v2/acts/johnvc~DuckDuckGo-Scraper-for-serp-rankings/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "The Siliconimist Podcast"}'
Python
from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("johnvc/DuckDuckGo-Scraper-for-serp-rankings").call(
run_input={'query': 'The Siliconimist Podcast'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item)