DuckDuckGo News
DuckDuckGo News: Scrape DuckDuckGo News search results in JSON format automatically, using custom parameters. Structured JSON, USD 0.05 per call in USDC — no API key, no account, no subscription, no minimum. Not affiliated with, endorsed by or an official channel of any of the services the results come from. All trademarks and copyright remain the property of their respective owners.
Answeringour last check, 2026-10-26
1 of 1checks answered this week
254 msmedian answer time
$0.05listed price per call
$0.05price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://serp402.com/api/v1/duckduckgo-news
| Category | Search and research |
|---|---|
| Provider host | serp402.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-26 | valid payment request | 402 | $0.05 | 254 ms |
Example input (from the provider)
{
"body": {
"q": "Coffee"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": true,
"properties": {
"df": {
"description": "results filtered by date. It can be set to: d : Past day, w : Past week, m : Past month.",
"type": "string"
},
"kl": {
"description": "region to use for the DuckDuckGo News search. Region code examples: us-en for the United States, uk-en for United Kingdom, or fr-fr for France. Head to the\u2026",
"type": "string"
},
"q": {
"type": "string"
},
"safe": {
"description": "level of filtering for adult content. It can be set to 1 (Strict), -1 (Moderate - default), or -2 (Off).",
"type": "string"
},
"start": {
"description": "result offset. It skips the given number of results. When offset is not being used (initial search request, start parameter is set to 0 or left blank), up to\u2026",
"type": "string"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": true,
"description": "DuckDuckGo News results as structured JSON. The shape follows the source, so fields differ between endpoints; identifiers and routing belonging to the collection layer are stripped.",
"properties": {
"attribution": {
"description": "Where the data comes from and what was done to it. Keep it with the results if you pass them on.",
"type": "object"
},
"endpoint": {
"description": "Which endpoint answered.",
"type": "string"
},
"meta": {
"description": "How long the call took.",
"type": "object"
},
"paid": {
"description": "The settled transaction and network.",
"type": "object"
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}