Duckduckgo News Search
Retrieve the latest news results from DuckDuckGo based on a specific query. Useful for monitoring trending topics, tracking media coverage, conducting news-based research, and exploring privacy-focused news aggregation without personalized tracking.
If you already know that you want to use Duckduckgo News Search, this page is the one you should read. It shows the required input, the filters you can apply, how pagination works, and what localization controls are available.
At a Glance
| Field | Value |
|---|---|
| Name | Duckduckgo News Search |
| Scraper | duckduckgo_news |
| Engine | duckduckgo_search_news |
| Website | DuckDuckGo |
| Website URL | duckduckgosearchnews.com |
| Output Format | json |
| Version | 1.0.0 |
| Parameter Count | 4 |
| Parameter Groups | Search Query (1), Localization (1), Advanced Filters (2) |
Request Example
This is the real request body used to validate duckduckgo_news during this docs refresh. For /v1/serp, the engine field should be the engine's scraper value.
curl -X POST "https://run.xcrawl.com/v1/serp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"engine":"duckduckgo_news","q":"OpenAI"}'Response Example
The JSON below comes from the same live response. Long strings, data URLs, and large arrays were shortened so the example stays readable.
{
"search_metadata": {
"cached": true,
"created_at": "2026-03-26 08:18:21 UTC",
"id": "01KMMKHX94BAT0B2G9PM1HGANH",
"json_endpoint": "https://serp.xcrawl.com/01KMMKHX94BAT0B2G9PM1HGANH.json",
"processed_at": "2026-03-26 08:18:21 UTC",
"raw_html_file": "https://serp.xcrawl.com/01KMMKHX94BAT0B2G9PM1HGANH.html",
"status": "completed",
"total_time_taken": 10
},
"search_parameters": {
"engine": "duckduckgo_news",
"q": "OpenAI"
},
"total_credits_used": 1,
"news_results": [
{
"link": "https://mashable.com/article/openai-sora-pivot-sam-altman",
"position": 1,
"source": "Mashable",
"thumbnail": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fhelios-i.mashable.com%2Fimagery%2Farticles%2F05eb1DrztyJQykXTdYrHmcf%2Fhero-image.fill.size_1200x675.v1774492922.jpg&f=1&ipt=66a7d874513ceac4cb5aa705e02446dde2e... [truncated, 249 chars]",
"title": "Why is OpenAI like this?"
},
{
"_note": "29 more items omitted"
}
]
}Required Parameters
If you are sending your first request with this engine, start here. Requiredness is based on properties.<field>.must, not the top-level required array.
| Field | Type | Group | Description |
|---|---|---|---|
q | string | Search Query | The keyword or phrase you want this search engine to look up. |
Available Parameters
The sections below follow the same parameter groups as the backend, but the field descriptions have been rewritten into shorter, user-facing wording so they are easier to scan.
Search Query
| Field | Type | Required | Description |
|---|---|---|---|
q | string | Yes | The keyword or phrase you want this search engine to look up. |
Localization
| Field | Type | Required | Description |
|---|---|---|---|
kl | string | No | DuckDuckGo region code. |
Additional Constraints
kl:Options: 64 options. Examples:ar-es,au-en,at-de,be-fr,be-nl
Advanced Filters
| Field | Type | Required | Description |
|---|---|---|---|
ndf | string | No | Filter By Date. |
safe | number | No | Safe-search level that controls adult-content filtering. |
Additional Constraints
safe:Default:1;Options: 3 options. Examples:1,-1,-2
