DuckDuckGo Scraper — Search Results & SERP | No API Key
Pricing
from $0.53 / 1,000 search-results
DuckDuckGo Scraper — Search Results & SERP | No API Key
Scrape DuckDuckGo search results into clean JSON — no API key, no login, no CAPTCHA. Run any list of queries, pick a region, get ranked organic results: title, URL, snippet, displayed URL, and rank. Auto-paginates to your result cap. Resilient parser emits a parse_confidence per result.
Pricing
from $0.53 / 1,000 search-results
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Share
DuckDuckGo Scraper — Search Results & SERP
Scrape DuckDuckGo search results into clean, structured JSON — no API key, no login, no CAPTCHA. Feed the DuckDuckGo Scraper a list of search queries, pick a region, and get back ranked organic results: title, URL, snippet, displayed (breadcrumb) URL, and position. It paginates automatically until it hits your result cap, and every result carries a parse_confidence score so you know the data is good.
DuckDuckGo doesn't sell an official search API, and the unofficial ones are rate-capped or paywalled. This actor gives you DuckDuckGo SERP data on demand, billed per result, with a structural parser built to survive DuckDuckGo's HTML changes.
What you get — DuckDuckGo SERP data per result
Each organic result in the output dataset includes:
| Field | Description |
|---|---|
rank | 1-based organic position across all pages of the query |
title | Result title (the clickable headline) |
url | Destination URL (absolute, redirect-unwrapped) |
displayed_url | The green breadcrumb URL shown under the title |
snippet | The result description / preview text |
query | The search query that produced this result |
region | The DuckDuckGo region code used |
parse_confidence | 0–1 parse-quality score (1.0 = clean) |
warnings | Machine-readable codes if any field looked off |
scraped_at | ISO-8601 UTC timestamp of the scrape |
How to scrape DuckDuckGo search results
- Add your queries. Put one or more search terms in Search queries (e.g.
best running shoes,python tutorial). Each query runs separately. For a single one-off lookup you can use the Single query field instead — handy for Make / Zapier / n8n. - Pick a region (optional). Use a DuckDuckGo region code like
us-en(United States),uk-en,de-de,fr-fr,ru-ru, orwt-wtfor worldwide / no region (the default). - Set Max results per query. The actor paginates (~10 results per page) until it reaches your cap. Keep it low to control cost.
- Run it. Results stream into the dataset in real time. Export as JSON, CSV, or Excel, or pull them via the Apify API.
Why this DuckDuckGo Scraper is reliable
- Resilient parser — the real edge. Most search scrapers break the moment the target tweaks a CSS class. This one anchors on DuckDuckGo's stable result-anchor structure and emits a
parse_confidenceper result, so a markup drift surfaces loudly instead of silently shipping blank rows. - No API key, no login, no CAPTCHA. It talks to DuckDuckGo's lightweight HTML results endpoint directly, with the
liteendpoint as an automatic fallback. - Proxy built in. DuckDuckGo soft-throttles a hammered IP. The actor uses Apify Proxy (RESIDENTIAL recommended) with per-query IP rotation and retries on a fresh IP, so runs stay reliable at volume. Proxy is billed to the run owner — no external proxy account to wire up.
Input example
{"queries": ["best running shoes", "python tutorial"],"region": "us-en","maxResults": 30,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output example
{"rank": 1,"title": "The 15 Best Running Shoes of 2026 - Running Shoe Reviews","url": "https://www.runnersworld.com/gear/a19663621/best-running-shoes/","displayed_url": "www.runnersworld.com/gear/a19663621/best-running-shoes/","snippet": "From cushioned and lightweight to comfy and stable, these are the best running shoes we're loving right now.","query": "best running shoes","region": "us-en","parse_confidence": 1.0,"warnings": [],"scraped_at": "2026-06-05T12:00:00+00:00"}
Common use cases for DuckDuckGo SERP data
- SEO rank tracking — monitor where pages rank on DuckDuckGo for your target keywords, by region.
- SERP research & content gaps — pull the top results for a topic to see who's ranking and what they cover.
- Lead generation — turn a list of search queries into a list of candidate sites and URLs.
- Brand & competitor monitoring — track which domains surface for branded and category queries.
- Privacy-friendly search data — DuckDuckGo results without the personalization noise of logged-in search.
Frequently asked questions
Does this need a DuckDuckGo API key or account? No. There's no key, no login, and no CAPTCHA to solve.
How many results per query can I get? Set Max results per query. The actor paginates automatically (~10 per page) until it reaches your cap.
Which regions are supported?
Any DuckDuckGo region code in <country>-<lang> form (e.g. us-en, de-de, wt-wt). DuckDuckGo validates it server-side.
Why is a residential proxy recommended? DuckDuckGo soft-throttles IPs that send many requests. Apify RESIDENTIAL proxy rotates the IP per query so runs stay reliable. It's billed to the run owner.
How am I charged? Pay-per-result: one charge per organic result returned. You only pay for data you actually get.
Built by the same team as our other search and lead-gen scrapers. Looking for Google instead? Pair this with our Google Search Scraper for cross-engine SERP coverage.