Search
Get one DuckDuckGo results page, with every block in page order.
GET | POST /v1/duckduckgo/searchSend parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.
Request
curl "https://gateway.apinoa.com/v1/duckduckgo/search?q=best+running+shoes&country=US" \
-H "x-api-key: $APINOA_API_KEY"Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
country | enum | The market, as an ISO 3166 country code. US GB CA AU IN DE FR IT ES NL BR MX JP KR | |
cursor | string | The previous page's cursor. Pass it alone for the next page. | |
limit | integer 1–100 | Results wanted (default 10, at most 100). More than one page is charged per page. | |
q | string | The query, search operators included. | |
safe | enum | Safe search. on off | |
timeRange | enum | Only results from this past period. hour day week month year | |
type | enum | What to search: web results (default), news, images or videos. web news images videos |
The same parameters, and every response type, are in the OpenAPI document.
Response
Returns ResultsPage in data. A real response, shortened: arrays keep their first entries and long text is cut.
{
"success": true,
"data": {
"engine": "duckduckgo",
"query": "best running shoes",
"type": "web",
"outcome": "results",
"country": "US",
"device": "desktop",
"page": 1,
"items": [
{
"type": "shopping",
"items": [
{
"title": "On Men's Cloudboom Echo 3 Road Running Shoe In White/Flame, Size: 11.5",
"url": "https://www.on.com/en-us/products/cloudboom-echo-3-0-3md1059/mens/white-flame-shoes-3MD10590256?variant=11.5&m…",
"price": "$260.00",
"lowPrice": "$130.00",
"merchant": "On Running",
"thumbnail": "https://www.bing.com/th?id=OPHS.JAt6Xy%2bZyO2cXA474C474&o=5&pid=21.1",
"snippet": "A fusion of CloudTec® and Helion™ HF hyper foam for our fastest race-day shoe. Get ready to outrun your echo |…",
"sponsored": true,
"clickUrl": "https://duckduckgo.com/y.js?ad_domain=on.com&ad_provider=bing&ad_type=prad&click_metadata=YPxo%2D6r%2DBu%2Dx6n…"
},
{
"title": "On Men's Cloudmonster 3 Road Running Shoe In Eclipse/Ivory, Size: 11.5, Polyester",
"url": "https://www.on.com/en-us/products/cloudmonster-3-m-3mg1005/mens/eclipse-ivory-shoes-3MG10053388?variant=11.5&m…",
"price": "$190.00",
"lowPrice": "$150.00",
"merchant": "On Running",
"thumbnail": "https://www.bing.com/th?id=OPHS.I93vHyie0KB%2fFg474C474&o=5&pid=21.1",
"snippet": "We've levelled up the latest Cloudmonster, bringing back the forward-rolling ride you love. Now featuring a tr…",
"sponsored": true,
"clickUrl": "https://duckduckgo.com/y.js?ad_domain=on.com&ad_provider=bing&ad_type=prad&click_metadata=%2DyfPGA7EWq4tBoRb_K…"
}
],
"rank": 1,
"sponsored": true
},
{
"type": "ad",
"block": "top",
"url": "https://ad.doubleclick.net/searchads/link/click?lid=43700081731586309&ds_s_kwgid=58700008871720321&ds_a_cid=68…",
"title": "Built For Runners, By Runners - Supportive Running Shoes",
"snippet": "Stay Supported On Every Run With Durable, High-Performance Running Shoes. Shop Brooks® Running Shoes & Apparel…",
"advertiser": "Brooks Running",
"displayUrl": "www.brooksrunning.com",
"sitelinks": [
{
"url": "https://ad.doubleclick.net/searchads/link/click?lid=43700081731586309&ds_s_kwgid=58700008871720321&ds_a_cid=68…",
"title": "Adrenaline GTS 25"
},
{
"url": "https://ad.doubleclick.net/searchads/link/click?lid=43700081731586309&ds_s_kwgid=58700008871720321&ds_a_cid=68…",
"title": "Try Our Shoe Finder"
}
],
"ext": {
"clickUrl": "https://duckduckgo.com/y.js?ad_domain=brooksrunning.com&ad_provider=bingv7aa&ad_type=txad&click_metadata=fZ6OU…"
},
"rank": 2,
"favicon": "https://www.bing.com/th?id=OADD2.1242448182628032_1DRPH90YYKI2O5R&pid=21.2&h=32"
},
{
"type": "organic",
"position": 1,
"url": "https://www.runnersworld.com/gear/a19663621/best-running-shoes/",
"title": "The 15 Best Running Shoes of 2026, Tested by Runner's World",
"snippet": "Find the best running shoes of 2026, including Runner's World-tested picks from Adidas, Brooks, New Balance, N…",
"site": "Runner's World",
"displayUrl": "www.runnersworld.com/gear/a19663621/best-running-shoes/",
"date": "2026-10-22",
"sitelinks": [
{
"url": "https://www.runnersworld.com/gear/a20865766/best-stability-running-shoes/",
"title": "Stability",
"snippet": "Through rigorous testing and a lifetime of runs, we've determined the best stability running shoes on the mark…"
},
{
"url": "https://www.runnersworld.com/gear/a26028922/running-shoes-for-men/",
"title": "Men's Running Shoe Reviews",
"snippet": "From freaky fast racers to rock-solid stability shoes, these are the highest-rated running shoes for men that…"
}
],
"rank": 5,
"lang": "en"
},
{
"type": "topStories",
"items": [
{
"title": "Heads up: 2026's best running shoes are already marked down by as much as 45%",
"url": "https://www.msn.com/en-us/lifestyle/other/heads-up-2026-s-best-running-shoes-are-already-marked-down-by-as-muc…",
"source": "Outside Online",
"date": "2026-10-25T09:22:46.000Z",
"snippet": "Looking to upgrade your running shoes without paying full price? We rounded up four top-tested road trainers a…"
},
{
"title": "Hoka updated one of its best running shoes for pain-free walks and runs—now the cloud-like sneakers are on sal…",
"url": "https://www.msn.com/en-us/news/other/hoka-updated-one-of-its-best-running-shoes-for-pain-free-walks-and-runs-n…",
"source": "EatingWell",
"date": "2026-10-21T10:00:00.000Z",
"snippet": "A plush yet supportive design? We're in.",
"thumbnail": "https://www.bing.com/th?id=ONUT.4Ma08_mymEhVGpW5Wj7ryg&pid=News"
}
],
"rank": 10
},
{
"type": "relatedSearches",
"queries": ["best running shoes for men", "best running shoes for women"],
"rank": 17
}
],
"cursor": "rhDukN2wfKxmHVjTS25-olD-Z_d_Rj_ivX3a4765VdFFfm17ma1zcpp495WtWkFT0nZiEO37qbSIQUFRDbYYe2Cgue7tkw_XBJhrSgAhiZ8iGL…",
"fetchedAt": "2026-10-30T00:57:50.542Z"
}
}Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_CURSOR | The cursor is not one this operation returned. Start again without it. |
| 400 | INVALID_PARAMS | A parameter is missing, unknown or out of range, or the engine does not take it. The message names it. |
| 401 | UNAUTHORIZED | The x-api-key header is missing, or the key is revoked or unknown. |
| 402 | INSUFFICIENT_BALANCE | The balance does not cover this call. Top up in the dashboard. |
| 429 | MARKETPLACE_SATURATED | Too many concurrent calls. Retry after the Retry-After seconds. |
| 502 | UPSTREAM_ERROR | The engine answered with something unusable. Retry with backoff. |
| 503 | SERVICE_UNAVAILABLE | A temporary failure. Retry with backoff. |
Every code is listed in Errors. Failed calls are not billed.
Pricing
Price $0.0012 per call, plus $0.0012 for each extra call it makes — at most 9 more, so $0.012 in total. List price; the rate steps down above 1,000 calls a day.