Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in

SERP API · DuckDuckGo

DuckDuckGo search API

DuckDuckGo's web results, returned as JSON: rank, title, link, displayed URL, domain and snippet. DuckDuckGo's own Instant Answer API returns instant answers, not the list of results; this is the SERP API with engine: "duckduckgo", billed per search.

A DuckDuckGo search for hiking boots in the US: the results page in the middle with the first result's title, displayed URL and highlighted words marked, and the real organic[0] JSON with rank 1, title, display_link, source rei.com and description. $0.0009 per search, whatever the tier.
DuckDuckGo web results as JSON: rank, title, link, domain and snippet, at $0.0009 per search.

What you get

One result, one object.

Fields of each DuckDuckGo result
FieldWhat it holds
rank1-based position
titleTitle of the result
linkURL
display_linkURL as displayed
sourceDomain
descriptionSnippet

Each result also carries the words DuckDuckGo highlights in the snippet.

Example

One request, one JSON answer.

curl -X POST https://api.quanticdata.io/v1/scraper/serp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"hiking boots","engine":"duckduckgo","country":"us","lang":"en","num":10}'
cURL: DuckDuckGo results for "hiking boots"
import requests

r = requests.post("https://api.quanticdata.io/v1/scraper/serp",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"query": "hiking boots", "engine": "duckduckgo", "country": "us", "lang": "en", "num": 10})
for o in r.json()["payload"]["organic"]:
    print(o["rank"], o["title"], o["link"])
Python: rank, title and link
{
  "rank": 1,
  "title": "Hiking Boots: Shop Boots for Hiking & Backpacking | REI Co-op",
  "link": "https://www.rei.com/c/hiking-boots",
  "display_link": "www.rei.com/c/hiking-boots",
  "source": "rei.com",
  "description": "Find hiking boots for men, women and kids at REI, the outdoor gear experts. Browse top-…"
}
The first result of the real answer to this request, 30 October 2026 (long URLs shortened).

The answer is the usual envelope: payload.organic holds the list above, payload.search_metadata says which tier answered and how long it took.

Parameters

What, where, how many.

Request parameters for engine: duckduckgo
ParameterMeaning
queryWhat you would type
engineduckduckgo
num, pageResults per call and the page to read
countryProxy exit and Google locale (gl), ISO code: us, gb, de, it…
langInterface language (hl): en, de, it…
devicedesktop (default), mobile, ios or android

Every parameter, for every vertical, is in the API reference.

Price

Per search, nothing monthly.

Every successful search costs $0.0009, whatever the tier. In our test on 30 October 2026 the call answered from the plain page in 2.66 seconds.

Failed searches are not charged. There is no subscription: a $2 free credit every month covers the first calls, then you top up your balance by card, PayPal or crypto.

Every price per search and per vertical: SERP API pricing.

Official API or this one

The Instant Answer API is not a results API.

DuckDuckGo's Instant Answer API returns topic summaries and instant answers; it does not return the full list of web results.

This endpoint returns that list as JSON, at a fixed price per search.

Use cases

What teams build with it.

A third view of the web next to Google and Bing for research and RAG.

Privacy-minded products that prefer a non-personalised index.

Rank tracking on DuckDuckGo for the markets that use it.

Before you call it

Questions developers ask

Does DuckDuckGo have an official search API?

Its Instant Answer API returns instant answers, not the list of results; this endpoint returns the list.

Can I choose the country?

Yes, country and lang set the region.

What does it cost?

$0.0009 per successful search, always.

How fast is a call?

About 3 seconds in our test on 30 October 2026.

Can I query Google and Bing too?

Yes, the same endpoint with engine google or bing.

Start with the free credit.

Create an API key, run the example above and read the JSON. Pay per search after the $2 monthly credit, no subscription.