# DuckDuckGo (/docs/duckduckgo) Read DuckDuckGo web, news, video and image results, instant answers, suggestions and rank checks as structured JSON DuckDuckGo is an independent search engine. These endpoints return its organic results, news, videos and images, its instant answers and search suggestions, and a rank check that tells you where a domain appears for a search. Base URL: `/v1/duckduckgo/...` DuckDuckGo exposes 7 routes here. Every route takes a `query`. The filters `region`, `safe_search` and `time_range` narrow the results where they apply. ## Quickstart ### Search the web Results come in order, each with its position, title, link, displayed address, domain, snippet and date. When DuckDuckGo shows a zero-click summary box, it comes back too. ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/duckduckgo/search?query=best%20running%20shoes®ion=us-en" \ -H "x-api-key: YOUR_API_KEY" ``` ### Check where a domain ranks Pass a domain such as `runnersworld.com`, or a URL with a path such as `example.com/blog`. One call scans up to 200 positions, set with `depth`. ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/duckduckgo/rank?query=best%20running%20shoes&url=runnersworld.com&depth=100" \ -H "x-api-key: YOUR_API_KEY" ``` ### Add news, videos or images These routes return one page each and take `limit`. Images also filter by `size`, `color`, `type`, `layout` and `license`. ```bash title="cURL" curl "https://www.socialcrawl.dev/v1/duckduckgo/news?query=nike&time_range=week" \ -H "x-api-key: YOUR_API_KEY" ``` ## Filters `region` takes a code such as `us-en`, `uk-en` or `de-de` (64 codes), or `wt-wt` for no region, and defaults to `us-en`. `safe_search` is `strict`, `moderate` or `off`. `time_range` is `any`, `day`, `week`, `month` or `year`. ## All endpoints ## Platform notes **A search lists about 200 results at most.** Pass the returned `cursor` for the next page. Positions keep counting across pages. **Rank checks match subdomains by default.** Send `include_subdomains=false` to count only the exact domain. By default a rank check stops at the first results page with a match. Send `all_matches=true` to scan the whole depth and report every matching position. **Suggestions and instant answers take no paging.** `suggestions` completes a partial query and `instant-answer` returns the heading, summary, source and related topics for a topic. ## Next steps - [Credits](/docs/credits.md): What each tier costs, and which failures are refunded. - [Pagination](/docs/pagination.md): How cursors work across list endpoints. - [Google](/docs/google.md): Google search results in the same API.