Bing and DuckDuckGo

Web results pages as typed JSON: every organic result with its position, title, URL, displayed URL and snippet.

Embed
Preview of the card
<a href="https://scrapelyserp.com/docs/web-search"><img src="https://scrapelyserp.com/docs/_api/public/orgs/affc5b0f-d3c2-423a-8143-9d10db5736ae/spaces/981e6275-da3f-446c-82de-889f59c83b6f/pages/1dea5391-df22-4285-8068-f04df7711a94/social-card.svg?v=3e7ae33eec8b" alt="Bing and DuckDuckGo" width="600" height="315"></a>

Web results pages as typed JSON: every organic result with its position, title, URL, displayed URL and snippet.

At a glance

Both answer { endpoint, url, credits, duration_ms, data } with data in one shape (WebSearch): query, page, total_results (the engine's estimate, when it shows one) and results, each with position, title, url, displayed_url and snippet. Positions continue across pages. A page we could not read is 502 TARGET_FAILED and costs nothing.

Endpoint

Localised by

Typical

GET /v1/structured/bing/search

country (2 letters), language and zip

about 550,000 results per credit, 10 per page

GET /v1/structured/duckduckgo/search

region (us-en, uk-en, de-de…)

about 3.3 million results per credit, about 10 per page

Bing

Parameter

Type

Default

Description

query (required)

string

—

The search terms.

page

integer

1

Results page, 1–100.

country

string

us

Two-letter country to search as.

language

string

en

Interface language, e.g. en, de, pt-BR.

zip

string

—

A 5-digit US ZIP code. Results reflect that area (local prices, stock and nearby results). Unknown ZIP codes are a free 400.

zip (a 5-digit US ZIP code) returns the page a searcher in that area would see, so local results (businesses, "near me" queries) follow it. It reflects the area around the ZIP code, not the exact spot. A localised page is bigger than a plain one and costs about four times as much, and can list fewer than ten organic results. An unknown ZIP code is a free 400.

curl -G "https://api.scrapelyserp.com/v1/structured/bing/search" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  --data-urlencode "query=web scraping api" \
  -d country=us

Full reference → GET /v1/structured/bing/search

DuckDuckGo

Parameter

Type

Default

Description

query (required)

string

—

The search terms.

page

integer

1

Results page, 1–5. A later page costs about as much as every page before it together.

region

string

us-en

Region and language, e.g. us-en, uk-en, de-de; wt-wt for none.

zip

string

—

A 5-digit US ZIP code. Results reflect that area (local prices, stock and nearby results). Unknown ZIP codes are a free 400.

zip (a 5-digit US ZIP code) returns the page a searcher in that area would see, so local results (businesses, "near me" queries) follow it. It reflects the area around the ZIP code, not the exact spot. An unknown ZIP code is a free 400.

Ads are left out. Pages go up to 5; a later page takes as long, and costs about as much, as every page before it together.

Full reference → GET /v1/structured/duckduckgo/search

Updated