DuckDuckGo
DuckDuckGo: web search, images, news, videos. All endpoints are read-only GET requests and return public DuckDuckGo search results.
Base URL: https://api.pullbay.com/
Endpoints
GET /duckduckgo/search
Search the web via DuckDuckGo
Offset
GET /duckduckgo/images
Search images via DuckDuckGo
Offset
GET /duckduckgo/news
Search news articles via DuckDuckGo
Offset
GET /duckduckgo/videos
Search videos via DuckDuckGo
Offset
Search Web
Returns web search results for term.
Request
GET /duckduckgo/search
Authorization: Bearer YOUR_API_KEYParameters
term
string
Yes
Search term, 1–255 characters
region
string
Yes
DuckDuckGo region code (e.g. wt-wt, us-en, uk-en)
safeSearch
string
Yes
false (off), moderate, or strict
offset
number
No
Result offset, 0 or greater
time
string
No
Recency filter: a (any), d (day), w (week), m (month), y (year)
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of results returned, not the number of requests.
Search Images
Returns image search results for term.
Request
Parameters
term
string
Yes
Search term, 1–255 characters
region
string
Yes
DuckDuckGo region code (e.g. wt-wt, us-en, uk-en)
safeSearch
string
Yes
false (off), moderate, or strict
offset
number
No
Result offset, 0 or greater
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of results returned, not the number of requests.
Search News
Returns news articles for term. Use time to limit recency (a=any, d=day, w=week, m=month, y=year).
Request
Parameters
term
string
Yes
Search term, 1–255 characters
region
string
Yes
DuckDuckGo region code (e.g. wt-wt, us-en, uk-en)
safeSearch
string
Yes
false (off), moderate, or strict
offset
number
No
Result offset, 0 or greater
time
string
No
Recency filter: a (any), d (day), w (week), m (month), y (year)
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of articles returned, not the number of requests.
Search Videos
Returns video search results for term.
Request
Parameters
term
string
Yes
Search term, 1–255 characters
region
string
Yes
DuckDuckGo region code (e.g. wt-wt, us-en, uk-en)
safeSearch
string
Yes
false (off), moderate, or strict
offset
number
No
Result offset, 0 or greater
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of videos returned, not the number of requests.
Object Schemas
Search Result object
title
string
Page title
description
string
Snippet/summary text from the page
hostname
string
Domain the result was served from
icon
string
Favicon URL
url
string
Link to the page
Image object
title
string
Image title
image
string
Full-size image URL
thumbnail
string
Thumbnail image URL
image_token
string
Opaque token identifying the full-size image
thumbnail_token
string
Opaque token identifying the thumbnail
width / height
integer
Image dimensions in pixels
source
string
Originating image search backend (e.g. Bing)
url
string
Link to the page hosting the image
News Article object
title
string
Article headline
excerpt
string
Short snippet of the article body
url
string
Link to the full article
image
string
Associated image URL
date
integer
Publish timestamp, Unix seconds
relativeTime
string
Human-readable relative publish time (e.g. 21 hours ago)
syndicate
string
Syndication source (e.g. bing)
isOld
boolean
Whether the article is flagged as stale/older content
Video object
title
string
Video title
description
string
Video description
url
string
Link to the video
image
string
Thumbnail/preview image URL
duration
string
Video duration, formatted mm:ss (or hh:mm:ss)
publishedOn
string
Hosting platform (e.g. YouTube)
published
string (date-time)
Publish timestamp
publisher
string
Channel or publisher name
viewCount
integer
View count
Errors
All non-2xx responses share the same envelope:
400
Bad request — missing/invalid parameters
402
Insufficient credits
404
No results found
Region Codes
regionaccepts a DuckDuckGo-specific region code, not a plain ISO country code — most are<country>-<language>pairs (e.g.us-en,uk-en,de-de,jp-jp), with a few exceptions (wt-wtfor worldwide/no region,ct-ca,xa-ar).Use
wt-wtwhen you don't want to bias results to a specific region.
Safe Search Levels
safeSearchtakes one of three values:false(safe search off),moderate(default-style filtering), orstrict(maximum filtering). Note that the "off" value is the literalfalse, not a string.
Pagination and Recency
All four endpoints page via
offset— there is nopage,cursor, ormaxItemsparameter on this service. Increaseoffsetby the number of results already consumed to fetch the next batch.time(onsearchandnewsonly) restricts results to a recency window (a/d/w/m/y) rather than paging through results — it is not available onimagesorvideos.
Last updated