DuckDuckGo Search API Guide: What the SERP Includes (and What It Doesn't)
DuckDuckGo occupies a specific niche among the five engines Serpent exposes: it is the privacy-first option and, at the same time, the lowest-cost web search engine in the catalog. If you are building on top of search data, those two facts change how you use it. This guide is the honest picture of what a DuckDuckGo SERP actually contains, what it deliberately does not contain, and when that trade-off is exactly what you want.
We cover the engine=ddg request, the response shape, the dedicated news and image surfaces, and the one feature you should not expect — shopping results — before comparing DDG against Google for real projects. For the broader comparison of result quality, our DuckDuckGo vs Google SERP data post goes deeper on the two engines side by side.
TL;DR: engine=ddg returns DuckDuckGo's web results as JSON — organic results with position/title/url, plus dedicated news (up to 29 articles) and image (200+ per request) endpoints. DDG has no Shopping endpoint; for product listings use Google or Yahoo Shopping. Because DDG results are less personalized and cheap, it shines for baseline rank tracking and high-volume research. Web from $0.03/1K pages at Scale.
The privacy angle, and what it means for data
DuckDuckGo's public positioning is that it does not track or profile its users the way a personalized search engine does. There is no profile following a searcher around, and no personalization layer re-ranking results differently for different people on the same query.
For developers that privacy posture has a concrete side effect: the results are stable and less personalized. The same query tends to produce the same baseline ordering, which is exactly what you want when you are measuring whether a page moved up or down over time. Personalized engines can bury that signal by showing each requester a slightly different SERP. DuckDuckGo's approach gives you cleaner rank-tracking data, which is one of the main reasons it is used for baseline ranking analysis.
What a DuckDuckGo SERP includes
The web surface returns organic results with position, title, url, and snippet — typically 10 results per page with multi-page pagination for deeper pulls. Beyond plain links, the Serpent response surfaces additional structured data when it is present:
| Surface | What comes back |
|---|---|
| Web results | Organic list, 10 per page, position/title/url/snippet |
| News | Up to 29 articles with title, URL, source, date, and excerpt |
| Images | 200+ images with full-size and thumbnail URLs, dimensions, source page |
| Videos | Up to 60 results with title, URL, duration, thumbnail, source |
Web search also supports a freshness filter (last day, week, month, year), a SafeSearch toggle, and country/region targeting through the country parameter. Each of those is a real query parameter you can set on the request, not a fixed behavior.
What it does not include (no Shopping)
The honest gap: DuckDuckGo has no Shopping endpoint. If you query DDG for a commercial term, you get web results and possibly ads — but not a structured product-listing surface with prices, merchants, and product images like the ones Google and Yahoo expose. For product-level data you should reach for the Google Shopping API or the Yahoo Shopping API instead.
That is not a defect — it is a fact about the engine. DuckDuckGo simply does not surface the same shopping result block, so an honest API cannot invent one. Knowing this up front saves you from building a pipeline that expects product listings and then discovering they never arrive for DDG.
Web results in practice
The request pattern is the same as every other engine: one GET with an X-API-Key header. Set engine=ddg and read json.results.organic:
const res = await fetch(
'https://apiserpent.com/api/search?q=best+programming+languages+2026&engine=ddg&country=us&num=10',
{ headers: { 'X-API-Key': 'YOUR_API_KEY' } }
);
const json = await res.json();
for (const r of json.results.organic) {
console.log(r.position, r.title, r.url);
}
One result in the JSON looks like this:
{
"searchParameters": { "q": "best programming languages 2026", "engine": "ddg", "country": "us" },
"results": {
"organic": [
{
"position": 1,
"title": "Top 10 Programming Languages to Learn in 2026",
"url": "https://example.com/top-languages",
"snippet": "Python, JavaScript, and Rust lead the rankings for the year ahead..."
}
]
},
"credits": { "used": 1, "remaining": 99 }
}
Swap engine=ddg for google, yahoo, bing, or brave and the response keeps the same shape, so a DDG integration becomes a multi-engine integration by changing one parameter. You can try a live query in the playground or read the full parameter list in the documentation.
News and image surfaces
For news monitoring, the /api/news endpoint with engine=ddg returns up to 29 articles per request with title, URL, source, date, and excerpt — enough for a brand-mention tracker or a topic monitor. A freshness filter keeps the feed to recent coverage.
For visual data, /api/images with engine=ddg is the highest-volume image surface in the catalog at 200+ images per request, with full-size and thumbnail URLs plus dimensions and the source page. That makes it practical for training datasets, content research, or any job that needs a large image set in one call. The 2026 route to building these pipelines yourself, without an API, is covered in our free DuckDuckGo scraping guide.
DuckDuckGo vs Google: when to choose which
The decision is not about which engine is "better" — it is about what you are measuring. Google has the largest index and the richest SERP features (AI Overviews, Featured Snippets, People Also Ask, Shopping, local packs). DuckDuckGo has a smaller index and a simpler SERP, but its results are less personalized and its web rate is the lowest in the catalog at $0.03/1K pages on Scale.
| Use case | Reach for |
|---|---|
| Baseline, unpersonalized rankings at scale | DuckDuckGo |
| Budget-sensitive bulk keyword research | DuckDuckGo |
| Large image or news collection | DuckDuckGo |
| Feature-rich SERPs (snippets, PAA, shopping) | |
| Multi-engine divergence checks | Both, same API |
Many teams run DuckDuckGo alongside Google precisely because they are different. A second, less-personalized engine gives you a control view of your rankings — if a movement shows up on both, it is more likely real. Since both engines cost the same per-page at the same tier and share one endpoint, the marginal cost of the second view is small. Start with the DuckDuckGo SERP API reference for the full endpoint list and pricing.
Privacy-first search data, as JSON.
Serpent returns parsed JSON for DuckDuckGo, Google, Bing, Yahoo, and Brave through one endpoint. New accounts include 10 shared free calls on eligible endpoints, then pay-as-you-go pricing with no subscription.
Get Your Free API KeyExplore: DuckDuckGo SERP API · All SERP APIs · Pricing
FAQ
Does DuckDuckGo track or profile users?
No. DuckDuckGo's public positioning is that it does not track or profile its users the way a personalized search engine does. That is why its results tend to be less personalized, which makes them useful as clean baseline data for rank tracking.
What does a DuckDuckGo SERP include?
A DuckDuckGo web SERP returns organic results with position, title, url, and snippet, typically 10 per page with multi-page pagination. Dedicated endpoints return news article metadata (up to 29 per request) and images (200+ per request). DuckDuckGo has no Shopping endpoint.
Does DuckDuckGo have a Shopping endpoint?
No. DuckDuckGo does not expose a shopping results surface in the Serpent catalog. For product listings you would use the Google or Yahoo Shopping APIs instead. DDG covers web, news, images, and videos.
When should I use DuckDuckGo instead of Google?
Use DuckDuckGo when you want less-personalized baseline rankings, when you are doing high-volume or budget-sensitive research, or when you need a low-cost second view alongside Google. DDG web search starts at $0.03/1K pages at the Scale tier, the lowest web rate in the catalog.

