SEO TOOLSDEVELOPER TOOLS API MCP READY

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

PARAMETERTYPEREQDEFAULTDESCRIPTION
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

Basic — the required input, with the schema's own example values
{
  "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.

Request a task →

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)