---
title: "Search DuckDuckGo"
method: POST
path: "/search/duckduckgo"
tags: ["Plugins"]
---

# Search DuckDuckGo

`POST /search/duckduckgo`

## Request

- Base URL: `https://api.scrapeunblocker.com`
- URL: `https://api.scrapeunblocker.com/search/duckduckgo`
- Auth: API key in header `x-scrapeunblocker-key`

Searches DuckDuckGo for `keyword` and returns the results as JSON: `topAds`, `bottomAds`, `organic` (each with `position`, `title`, `url`, `displayedUrl`, `domain`, `description`) and `relatedSearches`. Same parameters and response shape as `/serpApi`. The first page is rendered in a real browser and carries the ads; further pages add organic results.

## Query parameters

- `keyword` string, required: Search terms.
- `pages_to_check` integer: How many result pages to collect (1-10, ~10 results each).
- `proxy_country` string, nullable: Country to search from (ISO-2). Sets the result market and the location the search is sent from, which decides the ads. Defaults to US.
- `language` string, nullable: Interface language (ISO-639-1, e.g. en, de). Defaults to en.

## Response `200`

JSON with `topAds`, `bottomAds`, `organic`, `relatedSearches` and totals, in the same shape as `/serpApi`.

- unknown

## Other responses

- `400`: Invalid parameters.
- `422`: Validation Error
- `502`: Blocked by the search engine, no results page returned, or the search did not finish in time.

---

[API](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api.md) · [All operations](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapeunblocker/apis/scrapeunblocker-api/revisions/c02f1254cc47?raw)
