# Vestiaire Collective Search API Documentation

<p><strong>Vestiaire Collective Search API Documentation</strong> Search luxury resale listings on Vestiaire Collective. Filter by brand, category, size, condition, colour, material, price and seller country, list sold items, and sort by price. Every item has the price as a number with currency, the original price and discount percent (null when there is none), brand, model, condition, category, colours, size, photos in full size, likes, the listing date and the seller (id, first name, badge, official store flag). The response also holds facet counts with the ids you need for the category, size, condition, colour and material filters. Every returned item matches your filters. A search reaches about the first 1,250 items of a result set: use pagination.total_entries and narrow the search with filters to go deeper. A page beyond that window gives a 422. The price is the listing price. Vestiaire Collective publishes no separate sold price. FR, DE and ES share the EU listing pool with IT. Cost: 1 credit per request, only for successful requests.</p>

- **Documentation:** [https://scrappa.co/docs/vestiaire-api/vestiaire_search](https://scrappa.co/docs/vestiaire-api/vestiaire_search)
- **API group:** Vestiaire Collective API
- **Endpoint:** `GET https://scrappa.co/api/vestiaire/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 | No | Search text, e.g. prada cleo. Optional when you send filters. |
| `brand` | string | No | Brand name as Vestiaire Collective spells it (e.g. Prada) or its numeric id. Comma separate several. An unknown name gives a 422. |
| `category` | string | No | Category ids from the facets block of a search response, e.g. 59 for Handbags. Comma separate several. |
| `size` | string | No | Size ids from the facets block. Comma separate several. |
| `condition` | string | No | Condition ids from the facets block (1 never worn with tag, 2 never worn, 3 very good, 4 good, 5 fair). Comma separate several. |
| `color` | string | No | Colour ids from the facets block. Comma separate several. |
| `material` | string | No | Material ids from the facets block, e.g. 1 for cashmere. Comma separate several. |
| `price_min` | number | No | Minimum price in the currency of the country, e.g. 100. |
| `price_max` | number | No | Maximum price in the currency of the country, e.g. 500. |
| `seller_country` | string | No | Two letter country code of the seller, e.g. FR. Comma separate several. |
| `sold` | boolean | No | Send true to list sold items. Defaults to false (available items). |
| `sort` | string | No | relevance, price-asc or price-desc. Defaults to relevance. |
| `size_type` | string | No | women or men. Selects the size scale of the size filter. Defaults to women. |
| `page` | integer | No | Page number, starting at 1. Defaults to 1. |
| `per_page` | integer | No | Items per page, 1 to 250. Defaults to 48. A search reaches about the first 1,250 items. |
| `country` | string | No | Market: GB (GBP), US (USD), IT, FR, DE or ES (EUR). FR, DE and ES share the EU listing pool with IT. Defaults to GB. |
| `locale` | string | No | Language of names and labels: en, it, fr, de or es. Defaults to the language of the country. |

## Example response

```json
{
    "data": {
        "items": [
            {
                "id": 66976019,
                "url": "https://www.vestiairecollective.com/women-shoes/ballet-flats/prada/black-suede-prada-ballet-flats-66976019.shtml",
                "name": "Ballet flats",
                "size": {
                    "id": 32,
                    "label": "37 EU"
                },
                "sold": false,
                "brand": {
                    "id": 60,
                    "name": "Prada"
                },
                "likes": 5,
                "model": null,
                "price": {
                    "amount": 200,
                    "currency": "GBP"
                },
                "stock": false,
                "colors": [
                    {
                        "id": 14,
                        "name": "Black"
                    }
                ],
                "images": [
                    {
                        "alt": null,
                        "url": "https://images.vestiairecollective.com/produit/66976019-1_2.jpg",
                        "resized_url": "https://images.vestiairecollective.com/images/resized/w=1024,q=75/produit/66976019-1_2.jpg"
                    }
                ],
                "seller": {
                    "id": 26863127,
                    "badge": "Expert",
                    "first_name": "Maciej",
                    "is_official_store": false
                },
                "category": {
                    "id": 506,
                    "name": "Ballet flats"
                },
                "discount": null,
                "condition": {
                    "id": 4,
                    "name": "Good condition"
                },
                "listed_at": "2026-05-13T01:51:59Z",
                "description": "Elegant Prada ballet flats crafted from soft black suede with a sophisticated pointed toe silhouette, finished with delicate bow detail and subtle metal logo accent for a timeless minimalist look.\n\nSize: EU 37 | IT 36 | US 6\n\nInsole length: 23cm\n\nGood condition, normal signs of wear. Please refer to photos for details.\n\nA timeless and elegant addition to any wardrobe.",
                "universe_id": 1,
                "editor_picks": {
                    "hot": false,
                    "vintage": false,
                    "we_love": false,
                    "deal_eligible": false,
                    "exceptional_pieces": false
                },
                "seller_country": "PL",
                "parent_category": {
                    "id": 3,
                    "name": "Shoes"
                }
            }
        ],
        "facets": {
            "fields": {
                "category": [
                    {
                        "id": "59",
                        "name": "Handbags",
                        "count": 46,
                        "parent_id": 5
                    },
                    {
                        "id": "510",
                        "name": "Heels",
                        "count": 21,
                        "parent_id": 3
                    }
                ],
                "condition": [
                    {
                        "id": "1",
                        "name": "Never worn, with tag",
                        "count": 9,
                        "parent_id": null
                    },
                    {
                        "id": "2",
                        "name": "Never worn",
                        "count": 17,
                        "parent_id": null
                    }
                ]
            },
            "price_range": {
                "max": 34595,
                "min": 19
            }
        },
        "locale": "en",
        "country": "GB",
        "pagination": {
            "has_more": true,
            "per_page": 48,
            "total_pages": 21,
            "current_page": 1,
            "total_entries": 1008,
            "reachable_window": 1008
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing or invalid. This response is not billable. |
| 422 | Unknown Brand | The brand name is not a Vestiaire Collective brand. This response is not billable. |
| 503 | Upstream Unavailable | Vestiaire Collective did not answer. Retry in a few seconds. 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)
