DuckDuckGo Scraper | Pay Per Event avatar

DuckDuckGo Scraper | Pay Per Event

Pricing

from $0.01 / 1,000 results

Go to Apify Store
DuckDuckGo Scraper | Pay Per Event

DuckDuckGo Scraper | Pay Per Event

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.

Pricing

from $0.01 / 1,000 results

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

8

Bookmarked

43

Total users

2

Monthly active users

41 minutes ago

Last modified

Share

DuckDuckGo Search Scraper

Scrape DuckDuckGo search results as structured JSON. Returns organic results, ads, knowledge graph, news, inline images, inline videos, and related searches in a single dataset item per page. Localize across 40+ regions, filter by date or safe-search level, and paginate with a configurable page cap.

Built for SEO researchers, AI agents, and developers who need a reliable DuckDuckGo SERP API without monthly rental fees.

What you get

Each dataset item is one page of search results. Per page, the Actor returns:

  • Organic results - title, link, snippet, position, displayed link, thumbnail, favicon, date, rich snippet, sitelinks
  • Ads - same fields where DuckDuckGo surfaces sponsored entries
  • Knowledge graph - entity panel data when DuckDuckGo includes one
  • News results - headline, source, date, link, thumbnail
  • Inline images and inline videos - in-SERP media blocks
  • Related searches - DuckDuckGo's suggested follow-up queries
  • Pagination metadata - page number, total found, whether the page cap stopped the run

Use cases

  • SEO research - track rankings for target keywords across regions
  • AI agent grounding - feed live DuckDuckGo results into an LLM via the Apify MCP server
  • Competitive monitoring - capture ads and knowledge graph entries for brand terms
  • News monitoring - filter to the past day or week for fresh coverage
  • Privacy-conscious search analytics - DuckDuckGo does not personalize results, so output is consistent across runs

Input parameters

ParameterTypeRequiredDefaultDescription
querystringyes"python tutorial"Search term to query on DuckDuckGo
localizationstringno"us-en"Region/language code from 40+ supported regions (e.g. uk-en, fr-fr, de-de, jp-jp)
safestringno"moderate"Safe-search level: strict, moderate, or off
date_filterstringno(none)d (24h), w (week), m (month), y (year), or a custom range YYYY-MM-DD..YYYY-MM-DD
max_pagesintegerno2Maximum pages to fetch. 0 means no limit (paginate until DuckDuckGo runs out of results)
output_filestringno(none)Optional custom filename if you want a single JSON file in addition to the dataset

Example input

Basic:

{
"query": "python tutorial"
}

Localized with date and safe-search filter, 3 pages:

{
"query": "machine learning",
"localization": "uk-en",
"safe": "strict",
"date_filter": "w",
"max_pages": 3
}

Example output

One dataset item per page. Abbreviated:

{
"query": "machine learning",
"localization": "uk-en",
"safe_search": 1,
"date_filter": "w",
"max_pages": 3,
"page_number": 1,
"total_results_found": 150,
"pages_processed": 3,
"search_metadata": {
"localization": "uk-en",
"localization_name": "United Kingdom (English)",
"safe_search": 1,
"safe_search_description": "Strict",
"date_filter": "w",
"max_pages": 3,
"pagination_limit_reached": false
},
"pagination_info": {
"total_pages": 3,
"max_pages_set": 3,
"pagination_stopped_by_limit": false,
"results_per_page": {
"first_page": 30,
"subsequent_pages": 50
}
},
"organic_results": [
{
"position": 1,
"title": "Machine Learning Tutorial",
"link": "https://example.com/ml-tutorial",
"displayed_link": "example.com",
"snippet": "Learn machine learning fundamentals...",
"thumbnail": "https://thumbnail.url",
"favicon": "https://favicon.url",
"date": "2026-04-15",
"rich_snippet": "Rich snippet content...",
"sitelinks": []
}
],
"ads": [],
"knowledge_graph": [],
"news_results": [],
"inline_images": [],
"inline_videos": [],
"related_searches": []
}

Pricing

Pay-per-event. No monthly rental.

EventCostWhen charged
setup$0.01Once per run
page_processed$0.02Once per page returned

Typical cost: a 3-page run is $0.07 ($0.01 setup + 3 x $0.02 pages). The first page typically returns 30 results; subsequent pages return up to 50 each.

Getting started

  1. Open the Actor in the Apify Console and click Try for free.
  2. Enter a query (the only required field). Optionally set localization, safe, date_filter, and max_pages.
  3. Click Start - the run takes 5-15 seconds per page.
  4. Open the Dataset tab to view, filter, or export results as JSON, CSV, or Excel.

Programmatic use - via the Apify API:

curl -X POST "https://api.apify.com/v2/acts/<actor-id>/runs?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"query":"python tutorial","localization":"us-en","max_pages":2}'

For AI agents - the Actor is discoverable through the Apify MCP server. Connect Cursor, Claude.ai, VS Code, Claude Code, or any MCP-compatible client to https://mcp.apify.com and call search-actors with "duckduckgo search results".

FAQ

Do I need my own API credentials? No - the Actor uses a backing search API and the Apify console handles credentials for you. Just provide a query and run it.

How many results per page? DuckDuckGo returns ~30 organic results on page 1 and up to 50 on subsequent pages. The exact count varies by query and region.

Why is max_pages: 0 slow? Setting 0 means "no cap" - the Actor paginates until DuckDuckGo exhausts results, which can be 10+ pages for broad queries. Use max_pages: 5 if you only need the top results.

Can I filter to a specific date range? Yes. Pass date_filter as YYYY-MM-DD..YYYY-MM-DD (e.g. 2026-01-01..2026-05-01). For relative ranges use d, w, m, or y.

What regions does localization support? 40+ region/language combinations. Common values: us-en, uk-en, ca-en, au-en, de-de, fr-fr, es-es, it-it, jp-jp, cn-zh, ru-ru. The full list is in the input dropdown.

The Actor returned 0 results - what happened? DuckDuckGo returns no results for the query/locale/date combination. Try broadening the query, removing date_filter, or switching to localization: "us-en".

Where do I report a bug or request a feature? Open an issue on the GitHub repo or contact the Actor maintainer through the Apify store page.

Last Updated: 2026.05.12