For the complete documentation index, see llms.txt. This page is also available as Markdown.

DuckDuckGo

The Pullbay DuckDuckGo API provides programmatic access to web, image, news, and video search results from DuckDuckGo. Integrate DuckDuckGo's search index into your applications, dashboards, and research pipelines without scraping or browser automation.

Base URL: https://api.pullbay.com

Overview

The DuckDuckGo service lets you:

  • Search the web for a term and get back ranked page results

  • Search for images matching a term, including full-size and thumbnail URLs

  • Search for news articles matching a term, optionally filtered by recency

  • Search for videos matching a term, with duration, publisher, and view-count metadata

All four endpoints are read-only GET requests against public DuckDuckGo search results — there's no account or API key on DuckDuckGo's side required, just your Pullbay API key.

Common Use Cases

  • Competitive Research — Run the same query across web, news, and image results to see how a competitor, brand, or topic is currently represented in search.

  • Content Monitoring — Poll the news or web endpoints on a schedule to catch new mentions of a brand, product, or keyword as they appear.

  • SEO / SERP Tracking — Capture web search result rankings and snippets for a set of target terms over time to track visibility trends.

  • Brand Monitoring Across Media Types — Combine the search, images, news, and videos endpoints to get a fuller picture of how a name or topic surfaces across different content formats.

  • Research and Due Diligence — Pull web and news results for a company, person, or topic as a starting point for manual research, without manually running searches in a browser.

Endpoints

Endpoint
Description
Pagination

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

Parameters

Parameter
Type
Required
Default
Description

term

string

Yes

—

Search term, 1–255 characters

region

string

Yes

—

DuckDuckGo region code. Closed list of 63 values — see Region Codes

safeSearch

string

Yes

—

One of false, moderate, strict — see Safe Search Levels

offset

number

No

—

Result offset, 0 or greater

time

string

No

—

Recency filter. One of a, d, w, m, y — see Pagination and Recency

Example

Response

Response Schema

Field
Type
Description

data

array

pricing.creditsCharged

number

Credits charged for this request

Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.


Search Images

Returns image search results for term.

Request

Parameters

Parameter
Type
Required
Default
Description

term

string

Yes

—

Search term, 1–255 characters

region

string

Yes

—

DuckDuckGo region code. Closed list of 63 values — see Region Codes

safeSearch

string

Yes

—

One of false, moderate, strict — see Safe Search Levels

offset

number

No

—

Result offset, 0 or greater

Note: unlike search, news, and videos, this endpoint has no time parameter.

Example

Response

Response Schema

Field
Type
Description

data

array

Array of Image objects

pricing.creditsCharged

number

Credits charged for this request

Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.


Search News

Returns news articles for term.

Request

Parameters

Parameter
Type
Required
Default
Description

term

string

Yes

—

Search term, 1–255 characters

region

string

Yes

—

DuckDuckGo region code. Closed list of 63 values — see Region Codes

safeSearch

string

Yes

—

One of false, moderate, strict — see Safe Search Levels

offset

number

No

—

Result offset, 0 or greater

time

string

No

—

Recency filter. One of a, d, w, m, y — see Pagination and Recency

Example

Response

Response Schema

Field
Type
Description

data

array

pricing.creditsCharged

number

Credits charged for this request

Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.


Search Videos

Returns video search results for term.

Request

Parameters

Parameter
Type
Required
Default
Description

term

string

Yes

—

Search term, 1–255 characters

region

string

Yes

—

DuckDuckGo region code. Closed list of 63 values — see Region Codes

safeSearch

string

Yes

—

One of false, moderate, strict — see Safe Search Levels

offset

number

No

—

Result offset, 0 or greater

Note: unlike search and news, this endpoint has no time parameter.

Example

Response

Response Schema

Field
Type
Description

data

array

Array of Video objects

pricing.creditsCharged

number

Credits charged for this request

Credit cost: dynamic, returned in pricing.creditsCharged. No published flat rate.


Errors

All non-2xx responses share the same envelope:

Status
Meaning

400

Bad request — missing/invalid parameters

402

Insufficient credits

404

No results found

Object Schema

Search Result object

Field
Type
Description

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

Field
Type
Description

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

Field
Type
Description

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

Field
Type
Description

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

Region Codes

region is a closed enum, identical across all four endpoints. It is not a plain ISO country code — it's a DuckDuckGo-specific region identifier, generally a <country>-<language> pair, with a handful of exceptions (wt-wt for worldwide/no region, ct-ca, xa-ar). The API only accepts the 63 values below; any other value is invalid.

Valid region values:

wt-wt, ar-es, au-en, at-de, be-fr, be-nl, br-pt, bg-bg, ca-en, ca-fr, ct-ca, cl-es, cn-zh, co-es, hr-hr, cz-cs, dk-da, ee-et, fi-fi, fr-fr, de-de, gr-el, hk-tzh, hu-hu, in-en, id-en, ie-en, il-en, it-it, jp-jp, kr-kr, lv-lv, lt-lt, my-en, mx-es, nl-nl, nz-en, no-no, pk-en, pe-es, ph-en, pl-pl, pt-pt, ro-ro, ru-ru, xa-ar, sg-en, sk-sk, sl-sl, za-en, es-ca, es-es, se-sv, ch-de, ch-fr, tw-tzh, th-en, tr-tr, us-en, us-es, ua-uk, uk-en, vn-en

Use wt-wt when you don't want to bias results to a specific region. There is no documented default in the spec — region is required on every request, so you must pass one of the values above explicitly.

Safe Search Levels

safeSearch is required on all four endpoints and takes one of three values:

  • false — safe search off. Note that this is the literal boolean-looking token false, not a synonym like off; in the underlying spec it is written as the unquoted value false alongside the two quoted strings below.

  • moderate — moderate filtering.

  • strict — strict filtering.

There is no documented default — pass one of the three values explicitly on every request.

Python Example: Paging Through Web Results with Offset

This example fetches web search results a batch at a time using offset, stopping once a batch comes back empty or the requested number of batches has been pulled. There is no hasNextPage flag or cursor on this endpoint, so the loop here treats an empty data array as the end of results:

Each request is billed independently, with the charged amount reported in that response's pricing.creditsCharged — offset is a plain query parameter on this service, not part of Pullbay's page/cursor pagination envelope used elsewhere, so there's no pagination object to inspect for a "next page" flag.

FAQ

What's the difference between region and a country code?

region is a DuckDuckGo-specific identifier, not a plain ISO country code. Most values are <country>-<language> pairs (e.g. us-en, uk-en, de-de), but a few don't follow that pattern (wt-wt, ct-ca, xa-ar). It's a closed list of exactly 63 values — see Region Codes.

Why is safeSearch=false not a boolean?

safeSearch is typed as a string parameter, and one of its three accepted values happens to be the literal token false (as opposed to a quoted string like "off"). Send it as you would any other enum value for this parameter.

Which endpoints support the time filter?

Only search and news. images and videos do not accept a time parameter at all.

How do I get the next page of results?

Use offset. There's no page, cursor, or maxItems parameter on any of these four endpoints — increase offset by the number of results you've already consumed to fetch the next batch.

What's the credit cost per request?

It's dynamic — every response includes pricing.creditsCharged with the exact amount for that call. There's no fixed published rate per endpoint or per result.

Can I search without specifying a region?

No — region is a required parameter on all four endpoints. If you don't want to bias results to a particular country or language, pass wt-wt (worldwide).

Next Steps

  • API Integration Guide — integrate the Pullbay API into your backend application.

  • n8n Integration Guide — set up automated workflows using n8n with no coding required.

  • Services Overview — explore all available Pullbay services.

Last updated