DuckDuckGo Scraper.
Every result, fully rendered.
Send any DuckDuckGo results URL and get the fully rendered HTML back, through residential proxies with anti-bot handling built in.
Turn it into JSON with the generic extractor.
Any DuckDuckGo URL in. HTML or JSON out.
The Crawling API, typed live. Get the rendered HTML, or switch to the generic extractor for JSON. Hover to pause and read.
One API, everything DuckDuckGo throws at you.
DuckDuckGo renders its results with JavaScript and trips rate limits and bot checks at volume. The Crawling API renders it in a real browser, reaches it through residential IPs, and hands you clean HTML or JSON.
Full JavaScript rendering
A real browser executes the page, so the dynamically loaded organic results, titles, snippets and links are all captured, not just the initial shell.
140M residential IPs
Every request rotates a residential IP across 30 geographies, so you reach DuckDuckGo like a real local searcher and see local rankings.
Blocks handled for you
CAPTCHAs, bot walls and rate limits are cleared automatically. Nothing to solve, nothing to maintain.
HTML or JSON
Get the full rendered HTML, or add scraper=generic-extractor to return title, content, images and links as structured JSON.
Screenshots and async
The same call can capture a full-page screenshot, or run asynchronously with webhooks and cloud storage.
One API for every site
The Crawling API works on any URL, so the same token covers DuckDuckGo and everything else you crawl. See the live demo.
Rendered HTML, or clean JSON.
By default you get the rendered HTML. Add the generic-extractor and the same page comes back as typed JSON.
Page
title · string canonical · string favicon · string
Meta
meta.description · string meta.keywords · string
Content
content · string
Media
images · array og_images · array
Links
links · array
From URL to data in one call.
Every DuckDuckGo request moves through the same path. You send a URL, we operate everything in between.
Send the URL
Pass any public DuckDuckGo results URL with your token: a query, the HTML endpoint, a vertical or a filtered search.
Rotate a proxy
A residential IP and geography that reach DuckDuckGo cleanly, drawn from 140M IPs across 30 regions.
Render the page
A real browser loads the page so the JavaScript-rendered organic results, titles and snippets render before capture.
Clear anti-bot
DuckDuckGo's rate limits and bot checks are handled automatically. Nothing to solve, nothing to maintain.
Return HTML or JSON
The fully rendered HTML comes back, or typed JSON when you add the generic extractor.
What teams build on DuckDuckGo data.
Keyword rank tracking
Crawl a results URL per query and geography on a schedule to track positions and rank changes over time.
SERP monitoring
Watch results pages for new entrants, feature changes and movement across the queries you care about.
SEO research
Pull ranked titles, snippets and result URLs to study intent, competitors and content gaps.
Lead & link discovery
Surface domains, profiles and pages ranking for your terms to feed outreach and link prospecting.
Training data & RAG
Feed clean results text and result URLs into models, RAG pipelines and agents through one API.
Any URL, one API
Crawl queries, the HTML endpoint, verticals and filters, plus any other site you need.
Good to know when scraping DuckDuckGo.
Rendered like a real browser
DuckDuckGo loads its results dynamically with JavaScript; the Crawling API runs a real browser so the organic results render before capture.
HTML by default, JSON on request
You get the full rendered HTML. Add scraper=generic-extractor for parsed title, content, images and links, or parse the HTML yourself for result titles, snippets and URLs.
Localize results by region
Geotargeting picks the proxy region, so you can read rankings as a searcher in a given country would see them.
Reach DuckDuckGo from anywhere
Rotating across 30 regions and 140M residential IPs means consistent access at volume without managing proxies or tripping rate limits.
Built to crawl DuckDuckGo at scale.
The Crawling API runs on the same network that serves 46,000+ paying customers and 70,000+ developers. No proxies to buy, no browsers to run, nothing to patch when DuckDuckGo changes.
One token, official SDKs for Python, Node and Ruby, and a 99.99% uptime network underneath.
DuckDuckGo scraping questions.
Start scraping DuckDuckGo.
Track rankings without the blocks.
Free to begin with up to 10,000 requests. One token for the Crawling API and every scraper.