# DuckDuckGo Shopping API

> Search DuckDuckGo Shopping by keyword and get product listings with title, price, merchant, rating and link, by region.

Source: https://www.sandbase.ai/apis/duckduckgo/shopping
API reference: https://www.sandbase.ai/apis/duckduckgo/shopping#api

## Facts

- Provider: DuckDuckGo
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/duckduckgo/shopping`
- Price: $0.01 per call
- Capabilities: api, duckduckgo, ecommerce, product data
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/duckduckgo/shopping` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `q` | string | yes |  |
| `kl` | string | no |  |
| `sort_by` | string | no |  |
| `filters` | string | no |  |
| `next_page_token` | string | no |  |
| `json_restrictor` | string | no |  |

## FAQ

### How do I use the DuckDuckGo Shopping API?

Send a POST request to https://api.sandbase.ai/v1/api/duckduckgo/shopping with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the DuckDuckGo Shopping API cost?

$0.01 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the DuckDuckGo Shopping API accept?

Required: q (string). Optional: kl (string), sort_by (string), filters (string), next_page_token (string) and json_restrictor (string). The Parameters table and the Playground on this page list every field.

### What does the DuckDuckGo Shopping API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a DuckDuckGo developer account or API key?

No. DuckDuckGo Shopping runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for DuckDuckGo API access separately.

## README

### DuckDuckGo Shopping

Search DuckDuckGo Shopping by keyword and get product listings with title, price, merchant, rating and link, by region.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/duckduckgo/shopping" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"q": "airpods"}'
```

The result is returned in `outputs[0].data` as structured JSON.

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `q` | string | Yes | Parameter defines the query you want to search. You can use anything that you would use in a regular DuckDuckGo Shopping search. Parameter length can not exceed 500 characters. |
| `kl` | string | No | Parameter defines the region to use for the DuckDuckGo Shopping search. It sets the stores, the language, and the currency of the products. Region code examples: `us-en` (default) for the United States, `uk-en` for United Kingdom, or `fr-fr |
| `sort_by` | string | No | Parameter defines the sorting order of the results. It defaults to DuckDuckGo's featured order. Available options: `1` - Price: low to high `2` - Price: high to low |
| `filters` | string | No | Parameter defines the filters to apply, like a brand, a price range, or a store. You can find its value in `filters` of the results: each option has a `value`. To combine filters, apply them one at a time, like on DuckDuckGo: in the results |
| `next_page_token` | string | No | Parameter defines the next page token. It is used for retrieving the next page of results, like scrolling down on DuckDuckGo Shopping. Up to 30 results are returned per page. The next page token can be found in the the API JSON response: `t |
| `json_restrictor` | string | No | Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details. |

#### Pricing

$0.010 per successful call. Failed calls are not charged.
