SERP tracking
Use DuckDuckGo Search endpoints to turn serp tracking into repeatable API requests with documented inputs and JSON responses.
Turn DuckDuckGo's public web search results into structured JSON — organic results with titles, decoded destination URLs, and descriptions, with region, recency window, and safe-search filters, for SERP tracking and privacy-focused search research. Credential-free.
Search DuckDuckGo web results and get organic results as structured JSON, with region, recency, and safe-search filters.
Endpoint families
6
Documented params
25
Examples
6
Live catalog snapshot
Active endpoints
6
Methods
GET
Required params
12
Schema refs
6
{
"platform": "DuckDuckGo Search",
"endpoint": "duckduckgo-search",
"method": "GET",
"path": "/duckduckgo/search",
"auth": "apiKey"
}Use cases
Search DuckDuckGo web results and get organic results as structured JSON, with region, recency, and safe-search filters.
Use DuckDuckGo Search endpoints to turn serp tracking into repeatable API requests with documented inputs and JSON responses.
Use DuckDuckGo Search endpoints to turn search monitoring into repeatable API requests with documented inputs and JSON responses.
Use DuckDuckGo Search endpoints to turn discovery workflows into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live DuckDuckGo Search endpoint catalog — 6 endpoints, 25 documented request parameters, and 6 published response schemas — the same catalog Docs and Playground run against.
6 documented DuckDuckGo Search endpoints, grouped into 6 request families — Image, News and Search, plus 3 more.
25 request parameters are documented across those DuckDuckGo Search endpoints, 12 of them required — the full input contract is public before you write any integration code.
6 of the 6 DuckDuckGo Search endpoints ship a recorded example response, and 6 carry a documented response schema — you can code against the real JSON before the first request.
DuckDuckGo Search endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
6 hosted MCP tools back the DuckDuckGo Search endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/duckduckgo/image
/duckduckgo/news
/duckduckgo/search
/duckduckgo/shopping
/duckduckgo/suggest
/duckduckgo/video
Endpoint catalog
/duckduckgo/searchReturns DuckDuckGo web search results for a query string: title, destination URL, description, and hostname, plus page-based pagination. DuckDuckGo wraps every result link in its own click-tracking redirect; this endpoint always returns the decoded destination URL, never the raw redirect link.
Response notes
- DuckDuckGo wraps every result link in its own click-tracking redirect (`duckduckgo.com/l/?uddg=...`); `url` in the response is always the decoded destination URL, never the raw redirect link. - A blocked or CAPTCHA-served response returns `503`. - Requesting a page past the end of DuckDuckGo's own result set returns `404`.
Sampled 14 Oct 2026: 11 items, 5 fields filled in every item. position: 1 to 11, median 6; title: “Official site” and 10 other values.
MCP tool duckduckgo_search
/duckduckgo/suggestReturns DuckDuckGo search-box autocomplete completions for a query prefix, in DuckDuckGo's own ranking order. DuckDuckGo never returns more than 8 suggestions per prefix.
Response notes
- A prefix with no completions returns a valid empty `suggestions` array, not an error. - DuckDuckGo silently ignores a well-formed region code it does not know; only the format is validated here. - Duplicate (case-insensitive) and empty suggestions are removed.
Sampled 14 Oct 2026: 8 items, 2 fields filled in every item. position: 1 to 8, median 4; query: “openai chat gpt” and 7 other values.
MCP tool duckduckgo_suggest
/duckduckgo/imageReturns DuckDuckGo image results for a query string: title, source page URL, image URL, thumbnail, dimensions, and hostname, plus page-based pagination.
Response notes
- Unlike organic web search, DuckDuckGo's image results are not wrapped in a click-tracking redirect; `url` is DuckDuckGo's own reported source page URL as-is. - A blocked or CAPTCHA-served response returns `503`. - No results returns `404`.
Sampled 14 Oct 2026: 98 items, 8 fields filled in every item. position: 1 to 98, median 49; title: “OpenAI представляє новий агент ChatGPT для «глибокого дослі…” and 95 other values.
MCP tool duckduckgo_image
/duckduckgo/newsReturns DuckDuckGo news results for a query string: title, destination URL, source, excerpt, thumbnail, and relative/published time, plus page-based pagination.
Response notes
- A blocked or CAPTCHA-served response returns `503`. - No results returns `404`.
Sampled 14 Oct 2026: 27 items, 7 fields filled in every item, 1 not. published_at: 2026-09-07 to 2026-10-13; position: 1 to 27, median 14.
MCP tool duckduckgo_news
/duckduckgo/shoppingReturns DuckDuckGo shopping results for a query string: title, brand, merchant, description, price, rating, and review count, plus total page count. DuckDuckGo's shopping vertical is ad-funded, syndicated product listings, not organic content; every product link is wrapped in an ad-click-tracking redirect with no clean destination to unwrap, so no destination URL is returned. DuckDuckGo's own pagination token for this vertical is an opaque per-response blob rather than a plain page offset, so only the first page is supported.
Response notes
- DuckDuckGo's shopping vertical is ad-funded, syndicated product listings (Bing Product Ads), not organic content. Every product link DuckDuckGo returns is wrapped in an ad-click-tracking redirect carrying opaque campaign/session metadata with no clean destination to unwrap — so, like this API's Google Shopping endpoint, no destination URL is returned. - Only the first page is supported. DuckDuckGo's own pagination token for this vertical is an opaque per-response blob rather than a plain page offset, unlike this API's other DuckDuckGo endpoints. `page_info` reports the total page count DuckDuckGo has available, for context. - A blocked or CAPTCHA-served response returns `503`. - No results returns `404`.
Sampled 14 Oct 2026: 30 items, 6 fields filled in every item, 3 not. brand: On Running (17), Nike.com (7), KURU (4) and 1 more; position: 1 to 30, median 15.
MCP tool duckduckgo_shopping
/duckduckgo/videoReturns DuckDuckGo video results for a query string: title, destination URL, description, duration, thumbnail, publisher/uploader, published time, and view count, plus page-based pagination.
Response notes
- A blocked or CAPTCHA-served response returns `503`. - No results returns `404`.
Sampled 14 Oct 2026: 60 items, 10 fields filled in every item. published_at: 2026-10-05 to 2026-10-13; position: 1 to 60, median 30.
MCP tool duckduckgo_video
Related APIs
Search & Web Discovery
Use a Google Trends API — an API for Google Trends data — to track search demand, trending terms, interest over time, regional interest, related and rising queries, plus Google Suggest discovery, as structured JSON for demand research and trend monitoring.
Search & Web Discovery
Extract Google News results — headlines, source names, article URLs, snippets, thumbnails, and recency — as structured JSON for media monitoring, brand mention tracking, and news aggregation workflows.
Search & Web Discovery
Extract Google Jobs results — job titles, listing snippets, and locations — as structured JSON for job-market intelligence, hiring-trend analysis, and recruitment sourcing workflows.
How to scrape DuckDuckGo Search
DuckDuckGo's Instant Answer API returns topic summaries, not web results — there is no official API for the organic result list. Crawlora's 6 DuckDuckGo endpoints return web, image, news, shopping, and video results plus search-box autocomplete suggestions as normalized JSON, with region, recency, and safe-search filters and decoded destination URLs.
Separate endpoints cover web, images, news, shopping, and video. /duckduckgo/suggest is distinct from those result sets: it returns DuckDuckGo's ranked search-box completions for a q prefix, with count clamped from 1 to 8 and an optional region (worldwide by default).
The web endpoint takes time_range of d, w, m, or y for recency and safe_search of strict, moderate, or off.
Every endpoint takes a region, so you can compare how results differ market by market.
DuckDuckGo wraps result links in its own click-tracking redirect; these endpoints always return the decoded destination URL and hostname, never the raw redirect.
On 2026-10-30 a DuckDuckGo query for openai returned 98 image results, 30 news results and 11 web results, so do not assume one page size across routes. News rows carry published_at and relative_time.
Client libraries
Install the dedicated DuckDuckGo client for your language. Each package covers the DuckDuckGo endpoints on this page and calls Crawlora's hosted API with your API key.
npm install @crawlora-org/duckduckgonpmpip install crawlora-duckduckgoPyPIgo get github.com/Crawlora-org/crawlora-duckduckgopkg.go.devgem install crawlora-duckduckgoRubyGemsnet.crawlora:crawlora-duckduckgoMaven Centralcomposer require crawlora/duckduckgoPackagistcargo add crawlora-duckduckgocrates.ioAgent skills
Install a Crawlora agent skill and your agent can pull DuckDuckGo Search data as JSON through the documented API, without writing a scraper. These skills cover DuckDuckGo Search:
Runs SERP and keyword research via Crawlora — Google, Bing, Brave, DuckDuckGo, Yahoo, Baidu, Yandex, selected Qwant/Startpage suggestions, and…
npx skills add github.com/Crawlora-org/crawlora-skills --skill serp-keyword-researchFAQ
Not for web results. DuckDuckGo publishes an Instant Answer API, but it returns instant answers and topic summaries rather than the organic result list. Crawlora's endpoints read DuckDuckGo's own server-rendered search pages and return those results as JSON.
Web, images, news, shopping, and video each have their own result endpoint taking q plus a region. A sixth suggest endpoint returns ranked autocomplete queries rather than search results; it accepts q, an optional region, and count from 1 through 8.
Yes, on web search. time_range accepts d, w, m, or y for the past day, week, month, or year, and safe_search accepts strict, moderate, or off.
Yes. DuckDuckGo wraps every result link in a click-tracking redirect; this endpoint decodes it and returns the destination URL along with the hostname.
Send a keyword as q to Crawlora's /duckduckgo/search endpoint and get normalized organic results as structured JSON — no DuckDuckGo account required.