DuckDuckGo Scraper — Search Results & SERP | No API Key avatar

DuckDuckGo Scraper — Search Results & SERP | No API Key

Pricing

from $0.53 / 1,000 search-results

Go to Apify Store
DuckDuckGo Scraper — Search Results & SERP | No API Key

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

Vitalii Bondarev

Maintained by Community

Actor 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:

FieldDescription
rank1-based organic position across all pages of the query
titleResult title (the clickable headline)
urlDestination URL (absolute, redirect-unwrapped)
displayed_urlThe green breadcrumb URL shown under the title
snippetThe result description / preview text
queryThe search query that produced this result
regionThe DuckDuckGo region code used
parse_confidence0–1 parse-quality score (1.0 = clean)
warningsMachine-readable codes if any field looked off
scraped_atISO-8601 UTC timestamp of the scrape

How to scrape DuckDuckGo search results

  1. 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.
  2. Pick a region (optional). Use a DuckDuckGo region code like us-en (United States), uk-en, de-de, fr-fr, ru-ru, or wt-wt for worldwide / no region (the default).
  3. Set Max results per query. The actor paginates (~10 results per page) until it reaches your cap. Keep it low to control cost.
  4. 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_confidence per 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 lite endpoint 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.