# Depop Product Search API Documentation

<p><strong>Depop Product Search API Documentation</strong> Search the Depop marketplace by keyword. Each listing has its id, slug, public url, brand, condition, colours, styles, sizes with stock, description, location, shipping, picture sizes and a full price breakdown with discount percent. The response also holds the total hit count, the applied filters and an opaque cursor for the next page. Sort by price or keep the relevance order. Send the cursor value back as cursor to get the next page. A search with no hits is a successful, billable response with an empty list. For newest first use the search/newest endpoint. The data is public Depop data and the endpoint is read only. A failed request is never billed.</p>

- **Documentation:** [https://scrappa.co/docs/depop-api/depop_search](https://scrappa.co/docs/depop-api/depop_search)
- **API group:** Depop API
- **Endpoint:** `GET https://scrappa.co/api/depop/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | Yes | Search keywords, for example jacket. |
| `country` | string | No | Depop market code, two letters, lowercase. List the codes with /api/depop/markets. Defaults to us. |
| `limit` | integer | No | Listings per page, 1 to 200. Defaults to 24. |
| `cursor` | string | No | Opaque cursor from data.pagination.next_cursor of the previous page. |
| `sort` | string | No | price_asc or price_desc. Leave out for relevance order. |
| `condition` | string | No | Comma separated list. Condition ids such as brand_new, used_like_new, used_excellent, used_good, used_fair. |
| `brands` | string | No | Comma separated list. Brand ids from /api/depop/brands. |
| `colours` | string | No | Comma separated list. Colour ids such as black, blue, burgundy. |
| `variants` | string | No | Comma separated list. Size ids from /api/depop/sizes, for example 2.8. |
| `groups` | string | No | One product group id from /api/depop/categories, for example coats-jackets. |
| `product_types` | string | No | Comma separated list. Product type ids from /api/depop/categories. |
| `gender` | string | No | male, female or unisex. |
| `is_kids` | boolean | No | true for kids items, false for adult items. |
| `price_min` | number | No | Lowest price, in the currency of the country. |
| `price_max` | number | No | Highest price, in the currency of the country. |
| `discounted` | boolean | No | true to return only reduced items. |
| `discount_types` | string | No | percentage, value or percentage,value. Not every reduced item has a type, so discounted is the complete set. |
| `min_discount` | integer | No | Lowest discount in percent, 0 to 100. |
| `max_discount` | integer | No | Highest discount in percent, 0 to 100. |

## Example response

```json
{
    "data": {
        "sort": "price_asc",
        "items": [
            {
                "id": 962025650,
                "url": "https://www.depop.com/products/stickerworpdrus-fallout-lucy-trading-card-with-c462/",
                "slug": "stickerworpdrus-fallout-lucy-trading-card-with-c462",
                "brand": {
                    "id": 1667,
                    "name": "Other",
                    "slug": "unbranded"
                },
                "group": "art",
                "status": "STATUS_ONSALE",
                "is_kids": false,
                "is_sold": false,
                "condition": "brand_new",
                "product_type": "stickers",
                "active_status": "active",
                "category_name": "Art"
            },
            {
                "id": 956025614,
                "url": "https://www.depop.com/products/gigie6g-150-per-book-or-any-a000/",
                "slug": "gigie6g-150-per-book-or-any-a000",
                "brand": {
                    "id": 1667,
                    "name": "Other",
                    "slug": "unbranded"
                },
                "group": "books-and-magazine",
                "status": "STATUS_ONSALE",
                "is_kids": false,
                "is_sold": false,
                "condition": "brand_new",
                "product_type": "books",
                "active_status": "active",
                "category_name": "Books & magazines"
            }
        ],
        "query": "jacket",
        "country": "us",
        "filters": {
            "condition": "brand_new"
        },
        "pagination": {
            "has_more": true,
            "next_cursor": "MnwzfDE3OTI0NDM3ODA.BOOSTED_EXHAUSTED.0"
        },
        "total_count": 854828
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A parameter is missing or invalid. Depop is not called and the request is not billable. |
| 503 | Upstream Unavailable | Depop did not answer after several tries. Retry later. This response is not billable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
