---
title: "Vestiaire Collective listing search"
method: GET
path: "/vestiaire/search"
tags: ["Vestiaire"]
---

# Vestiaire Collective listing search

`GET /vestiaire/search`

## Request

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

Searches Vestiaire Collective's public pre-owned luxury resale catalog by keyword, category, brand, and condition, with sort and pagination. `sort` values: `relevance`, `price_asc`, `price_desc`, `recency`. `category_id` and `condition_id` come from /vestiaire/categories and /vestiaire/conditions. `page` * `per_page` cannot exceed an offset of 1000 (the upstream service's own pagination limit) -- narrow the query instead of paging deeper. Public data, sourced from Vestiaire Collective's own search service.

## Query parameters

- `q` string
- `category_id` string
- `brand_id` string
- `condition_id` '1' | '2' | '3' | '4' | '5'
- `sort` 'relevance' | 'price_asc' | 'price_desc' | 'recency'
- `page` integer
- `per_page` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- VestiaireSearchResponseDoc
  - `code` integer
  - `data` VestiaireSearchResponse
    - `facets` VestiaireSearchFacets
      - `brands` VestiaireFacetValue[]
        - `count` integer
        - `id` string
        - `name` string
      - `categories` VestiaireFacetValue[]
        - `count` integer
        - `id` string
        - `name` string
      - `conditions` VestiaireFacetValue[]
        - `count` integer
        - `id` string
        - `name` string
    - `fetched_at` string
    - `items` VestiaireSearchItem[]
      - `brand` string
      - `brand_id` string
      - `color` string
      - `country` string
      - `created_at` string
      - `currency` string
      - `id` string
      - `in_stock` boolean
      - `likes` integer
      - `model` string
      - `name` string
      - `pictures` string[]
      - `price_cents` integer
      - `seller_id` string
      - `sold` boolean
      - `url` string
    - `page` integer
    - `per_page` integer
    - `price_range` VestiairePriceRange
      - `max_cents` integer
      - `min_cents` integer
    - `q` string
    - `sort` string
    - `source_url` string
    - `total_items` integer
    - `total_pages` integer
  - `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)
