# Get DuckDuckGo Search Results API

> Get DuckDuckGo search results (title, URL, snippet) for a query, fetched through a real headless browser.

Category: [SEO Tools APIs](https://upapi.io/apis/seo-tools) · Last updated 2026-10-31

## How to call it

- Endpoint: `POST https://api.upapi.io/duckduckgo-search.get`, key in the `X-Api-Key` header, JSON body.
- Cost: 25 weighted units per call.
- Timeout: 30 seconds.
- Cache: identical requests are served from cache for 300 seconds, unbilled.
- Try it without writing code: https://app.upapi.io/try/duckduckgo-search.get

```bash
curl -X POST https://api.upapi.io/duckduckgo-search.get \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{ "limit": 10, "query": "typescript", "safeSearch": "moderate" }'
```

## Request parameters

- `limit` (integer) — Max results
- `query` (string, required) — Search query
- `safeSearch` (enum) — Safe-search level; invalid values are rejected by the gateway

## Response fields

- `query` (string, required)
- `engine` (string, required)
- `results` (array, required)
- `results[].url` (string, required)
- `results[].title` (string, required)
- `results[].snippet` (string, required)
- `results[].position` (integer, required)
- `results[].displayUrl` (string, required)
- `elapsedMs` (integer, required)
- `fetchedAt` (string, required)
- `totalCount` (integer, required)

## Example request and response

The example response is generated from the published output schema: it shows the shape and field names, not values from a recorded call.

```json
{
  "limit": 10,
  "query": "typescript",
  "safeSearch": "moderate"
}
```

```json
{
  "query": "typescript",
  "engine": "example",
  "results": [
    {
      "url": "https://github.com",
      "title": "Alan Turing",
      "snippet": "example",
      "position": 1,
      "displayUrl": "example"
    }
  ],
  "elapsedMs": 1,
  "fetchedAt": "example",
  "totalCount": 1
}
```

## Frequently asked questions

### How much does the Get DuckDuckGo Search Results API cost per call?

Each call spends 25 weighted units of your plan's monthly quota. Full pricing is at https://upapi.io/pricing.

### How do I authenticate to the Get DuckDuckGo Search Results API?

Send your key in the X-Api-Key header. A free guest key is available without creating an account.

### Are Get DuckDuckGo Search Results API responses cached?

Yes — identical requests are served from cache for 300 seconds, and a cache hit is not billed.

## More SEO Tools APIs

- [Get Google Search Results](https://upapi.io/apis/seo-tools/google-serp)
- [Get Bing Search Results](https://upapi.io/apis/seo-tools/bing-serp)
- [Parse Open Graph Metadata](https://upapi.io/apis/seo-tools/opengraph-parse)
- [Parse Sitemap](https://upapi.io/apis/seo-tools/sitemap-parse)
