DuckDuckGo Scraper | Pay Per Event
Pricing
from $0.01 / 1,000 results
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
Actor stats
8
Bookmarked
43
Total users
2
Monthly active users
41 minutes ago
Last modified
Categories
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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | yes | "python tutorial" | Search term to query on DuckDuckGo |
localization | string | no | "us-en" | Region/language code from 40+ supported regions (e.g. uk-en, fr-fr, de-de, jp-jp) |
safe | string | no | "moderate" | Safe-search level: strict, moderate, or off |
date_filter | string | no | (none) | d (24h), w (week), m (month), y (year), or a custom range YYYY-MM-DD..YYYY-MM-DD |
max_pages | integer | no | 2 | Maximum pages to fetch. 0 means no limit (paginate until DuckDuckGo runs out of results) |
output_file | string | no | (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.
| Event | Cost | When charged |
|---|---|---|
setup | $0.01 | Once per run |
page_processed | $0.02 | Once 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
- Open the Actor in the Apify Console and click Try for free.
- Enter a
query(the only required field). Optionally setlocalization,safe,date_filter, andmax_pages. - Click Start - the run takes 5-15 seconds per page.
- 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.
Links
- DuckDuckGo - the search engine being scraped
- Apify MCP integration docs
- GitHub repo
Last Updated: 2026.05.12