DuckDuckGo · field reference
DuckDuckGo SERP API
Every field, annotated.
You already know you need DuckDuckGo results. Here is one request and the full response, annotated line by line, plus how to handle the fields that can be null.
curl -X POST https://kieapi.com/v1/serp/duckduckgo/organic -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"q":"static site generator","country":"CA"}'Annotated response
{
"engine": "duckduckgo", // path engine
"query": {"q": "static site generator", "country": "CA"},
"request_url": "<request_url>", // upstream URL fetched
"status_code": 200, // upstream HTTP status
"classification": "<classification>", // fetch classification (a string)
"organic": [{"rank": 1, "title": "…", "url": "…", "display_url": null, "snippet": "…"}],
"modules": {}, // open object, nothing promised
"organic_count": 1 // length of organic[]
}Nullability notes
- title and url are always strings; key your storage on url.
- display_url can be null: derive a host from url if you need one for display.
- snippet can be null: store an empty value rather than dropping the row.
- rank can be null: fall back to the row's index in organic[].
News results?
DuckDuckGo News is not offered. Google News has its own endpoint.
Launch status for this page
Check engine availability before choosing an endpoint. Google also supports News, Images and asynchronous tasks.
- DuckDuckGoDuckDuckGo is callable today with a Bearer API key.
SERP searches are charged per successful search at a display rate of 2 Credits per search; failed searches are not charged. Polling task status is free. The current rate is on Pricing.
What this is not
- No DuckDuckGo News or images.
- No language parameter.
- No task queue.
- classification values are not enumerated.
Frequently asked questions
What does status_code represent?
The HTTP status of the upstream fetch, as an integer.
Is rank always present?
No. rank can be null.
Can I set language?
No. The DuckDuckGo body has only q and country.
Does DuckDuckGo have a task queue?
No. It is synchronous only.
Parse DuckDuckGo with confidence
Get an API key; the annotated response above is what you will receive.