Full DuckDuckGo result pages
Each request returns the organic results DuckDuckGo shows for your query as structured JSON: position, title, URL, and snippet, plus pagination state. Add html: true to also retain the source HTML.
Search and places
DuckDuckGo Search API returning organic web results as JSON. Filter by country, language, safe search, and time range, with token-based pagination.
Each request returns the organic results DuckDuckGo shows for your query as structured JSON: position, title, URL, and snippet, plus pagination state. Add html: true to also retain the source HTML.
Set country and language to match the market you are measuring, choose a safe-search level, and use time_range with d, w, m, or y to restrict results to the past day, week, month, or year.
Track where your pages appear on DuckDuckGo alongside Google and Bing, or give an AI agent a privacy-focused search source through the PrismCrawl MCP server.
Use your existing PrismCrawl API key and credit balance. A completed request consumes one credit, including recognized empty or unavailable results and source changes found during a valid continuation. Validation and operational errors remain uncharged. Each completed continuation request is billed separately.
curl 'https://api.prismcrawl.com/v1/duckduckgo/search' \
--request POST \
--header 'content-type: application/json' \
--header 'x-api-key: <PRISMCRAWL_API_KEY>' \
--data '{
"country": "us",
"language": "en",
"query": "best hiking boots"
}'| Parameter | Usage |
|---|---|
queryRequired | Text to search for on the selected service. |
country | Two-letter country or storefront code, such as us or gb. |
language | Provider-supported language code, such as en. |
safe | Provider safe-search filtering. active, strict, moderate, off |
time_range | d, w, m, y, or an inclusive date interval YYYY-MM-DD..YYYY-MM-DD. |
next_page_token | Copy the opaque next_page_token from the previous response using the same account, search parameters, device, and result limit. Tokens expire after one hour; restart pagination if rejected or expired. |
device | Device presentation for the source request. desktop, mobile, tablet |
html | Return the encoded original response rather than parsed JSON. |
zero_trace | Do not archive source or parsed response artifacts. |
start | Native result offset; cannot be combined with a continuation or a page greater than one. |
m | Maximum results requested from the native source; initial pages can contain fewer results. |
search_assist | Include native Search Assist answers when available. Cannot be combined with m when true. |
Read items from data.content.results. The response also includes the search metadata, pagination state, and any extracted SERP features. Optional fields appear when supplied by the provider.
addresscategorycoordinatesdescriptiondisplay_urldomainengineidlatitudelongitudenamephonepositionrankratingrating_maxrating_sourcereview_countsnippetthumbnailtitletypeurlwebsiteContinue with data.content.next_page_token when has_next_page is true. Omit page when using a token and keep the other request parameters unchanged, including the query or ID, country, language, device, result limit, and sort order. Stop when no token is returned. Tokens belong to the same account and expire after one hour. Restart pagination if a token is expired or rejected, including tokens issued before authenticated tokens were introduced. If the source inventory changes after a valid continuation is fetched, a completed HTTP 200 response costs one credit and marks pagination_limited: true with pagination_reason: stale_cursor. Keep any returned results and restart pagination; no continuation token is returned.
The official SDKs cover this endpoint with typed parameters, automatic retries, and pagination helpers.
pip install prismcrawlnpm install prismcrawlDuckDuckGo's public Instant Answer API returns topic summaries, not the ranked list of web results. PrismCrawl's DuckDuckGo Search API returns the organic results page as structured JSON.
No. You authenticate with your PrismCrawl API key in the x-api-key header. You do not need a DuckDuckGo developer account or DuckDuckGo API key.
When more results are available, the response includes next_page_token. Send it with the same query, country, language, and filters to fetch the next page.
Each completed DuckDuckGo request uses one credit. Credits cost $0.30–$0.15 per 1,000 depending on the package, with no subscription, and new accounts receive 100 free credits. Validation and operational errors are not charged.