---
title: "Search DuckDuckGo shopping results"
method: GET
path: "/duckduckgo/shopping"
tags: ["DuckDuckGo Search"]
---

# Search DuckDuckGo shopping results

`GET /duckduckgo/shopping`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/duckduckgo/shopping`
- Auth: API key in header `x-api-key`

Returns DuckDuckGo shopping results for a query string: title, brand, merchant, description, price, rating, and review count, plus total page count. DuckDuckGo's shopping vertical is ad-funded, syndicated product listings, not organic content; every product link is wrapped in an ad-click-tracking redirect with no clean destination to unwrap, so no destination URL is returned. DuckDuckGo's own pagination token for this vertical is an opaque per-response blob rather than a plain page offset, so only the first page is supported.

## Query parameters

- `q` string, required
- `region` string

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DuckduckgoShoppingResponseDoc
  - `code` integer
  - `data` DuckduckgoShoppingResponse
    - `page_info` DuckduckgoShoppingPageInfo
      - `page` integer
      - `total_pages` integer
    - `query` string
    - `results` DuckduckgoShoppingResult[]
      - `brand` string
      - `description` string
      - `image` string
      - `low_price` string
      - `merchant` string
      - `position` integer
      - `price` string
      - `rating` number
      - `review_count` integer
      - `title` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

---

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