TheRealReal
Authenticated luxury resale: condition grades, original retail estimates and what comparable items actually sold for.
/therealreal/v1/search1 creditKeyword search across the live catalogue with every filter the site exposes (category, designer, condition grade, colour, size, gender, store, price range, on-sale, vintage, with-tags, editors' picks) and its own sorts. Each row carries the asking price, the original retail estimate where the source publishes one, the condition grade, sold flag and images. Some brand/model terms ('birkin', 'kelly bag') are answered by the site with a curated collection instead of results — this action follows that redirect and says so in `followed_redirect`.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Free-text search, e.g. 'chanel classic flap'. |
| currency = USD | optional | USD · EUR · GBP · CAD · AUD · JPY · HKD · SGD · MXN | Display currency for the *_display fields. Prices are ALSO always returned in USD, because the source converts the label only. |
| page = 1 | optional | 1– | 1-based page. The catalogue connection stops at 2000 rows. |
| page_size = 48 | optional | 1–120 | Rows per page, 1-120 (the source's own ceiling). |
| sort = newest | optional | newest · price_asc · price_desc · sold · most_obsessed | Result order. |
| follow_redirect = true | optional | — | Follow the site's curated-collection redirect when a query returns one (default true). Set false to receive the redirect target untouched. |
| category | optional | — | Category permalink, e.g. 'women/handbags', 'men/shoes', 'jewelry/earrings', 'watches/bracelet'. Call `categories` for the live tree. |
| category_id | optional | — | Category facet id(s) from `filters`/`categories`. |
| designer | optional | — | Designer slug, e.g. 'chanel', 'saint-laurent', 'louis-vuitton'. Call `designers` for the full index. |
| designer_id | optional | — | Designer facet id(s) (from `designers`). |
| condition | optional | pristine · excellent · very_good · good · fair · as_is | Condition grade(s) the site assigns. A numeric facet id is also accepted. |
| color | optional | black · brown · burgundy · red · blue · purple · pink · orange · green · metallic · grey · yellow · white · gold · silver · animal_print · pattern_prints · neutrals · clear | Colour / pattern facet(s). |
| gender | optional | women · men | Gender facet. |
| clothing_size | optional | petite · xxs · xs · s · m · l · xl · xxl · 3xl · 4xl · 5xl | Clothing size(s) (XS…5XL, Petite). |
| shoe_size | optional | 3.5 · 4 · 4.5 · 5 · 5.5 · 6 · 6.5 · 7 · 7.5 · 8 · 8.5 · 9 · 9.5 · 10 · 10.5 · 11 · 11.5 · 12 · 12.5 · 13 · 13.5 · 14 · 14.5 · 15 · 15.5 · 16 · 16.5 · 17 · 18 | US shoe size(s), 3.5-18. |
| store_id | optional | — | Physical-store id(s) — items available in that TheRealReal store. `filters` lists them. |
| price_min | optional | 0– | Minimum asking price in USD. |
| price_max | optional | 0– | Maximum asking price in USD. |
| availability = available | optional | available · all | 'available' hides sold listings (default); 'all' keeps them. Sold items are a real state on a one-of-a-kind marketplace, not an error. |
| on_sale = false | optional | — | Only items the site currently marks as marked down. |
| vintage = false | optional | — | Only items flagged vintage. |
| with_tags = false | optional | — | Only items still carrying their original tags. |
| editors_picks = false | optional | — | Only editors' picks. |
/therealreal/v1/browse1 creditBrowse a category, a designer, a curated sale or any filter combination without a keyword — the catalogue view. Same row shape and sorts as `search`. At least one of category, category_id, designer, designer_id, sale_slug or a facet filter is required, so nobody accidentally pages through four million rows.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| currency = USD | optional | USD · EUR · GBP · CAD · AUD · JPY · HKD · SGD · MXN | Display currency for the *_display fields. Prices are ALSO always returned in USD, because the source converts the label only. |
| page = 1 | optional | 1– | 1-based page. The catalogue connection stops at 2000 rows. |
| page_size = 48 | optional | 1–120 | Rows per page, 1-120 (the source's own ceiling). |
| sort = newest | optional | newest · price_asc · price_desc · sold · most_obsessed | Result order. |
| sale_slug | optional | — | A curated sale/collection slug, e.g. 'hermes-birkin-bag'. `search` reports one in `redirect_to_sale` when the site answers a query with a curated page. |
| category | optional | — | Category permalink, e.g. 'women/handbags', 'men/shoes', 'jewelry/earrings', 'watches/bracelet'. Call `categories` for the live tree. |
| category_id | optional | — | Category facet id(s) from `filters`/`categories`. |
| designer | optional | — | Designer slug, e.g. 'chanel', 'saint-laurent', 'louis-vuitton'. Call `designers` for the full index. |
| designer_id | optional | — | Designer facet id(s) (from `designers`). |
| condition | optional | pristine · excellent · very_good · good · fair · as_is | Condition grade(s) the site assigns. A numeric facet id is also accepted. |
| color | optional | black · brown · burgundy · red · blue · purple · pink · orange · green · metallic · grey · yellow · white · gold · silver · animal_print · pattern_prints · neutrals · clear | Colour / pattern facet(s). |
| gender | optional | women · men | Gender facet. |
| clothing_size | optional | petite · xxs · xs · s · m · l · xl · xxl · 3xl · 4xl · 5xl | Clothing size(s) (XS…5XL, Petite). |
| shoe_size | optional | 3.5 · 4 · 4.5 · 5 · 5.5 · 6 · 6.5 · 7 · 7.5 · 8 · 8.5 · 9 · 9.5 · 10 · 10.5 · 11 · 11.5 · 12 · 12.5 · 13 · 13.5 · 14 · 14.5 · 15 · 15.5 · 16 · 16.5 · 17 · 18 | US shoe size(s), 3.5-18. |
| store_id | optional | — | Physical-store id(s) — items available in that TheRealReal store. `filters` lists them. |
| price_min | optional | 0– | Minimum asking price in USD. |
| price_max | optional | 0– | Maximum asking price in USD. |
| availability = available | optional | available · all | 'available' hides sold listings (default); 'all' keeps them. Sold items are a real state on a one-of-a-kind marketplace, not an error. |
| on_sale = false | optional | — | Only items the site currently marks as marked down. |
| vintage = false | optional | — | Only items flagged vintage. |
| with_tags = false | optional | — | Only items still carrying their original tags. |
| editors_picks = false | optional | — | Only editors' picks. |
/therealreal/v1/product/detail1 creditOne listing in full, by slug or URL: name, designer, category path, the CONDITION GRADE plus the condition narrative the site writes, the seller description as clean lines, measurements with the unit as published, materials and colours, asking price with the markdown against the site's own previous price, the ORIGINAL RETAIL ESTIMATE where the source publishes one, sold state, return policy, disclaimers and every image with its dimensions. A sold listing resolves normally — it is a state, not an error.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slug | optional | — | Listing slug, e.g. 'saint-laurent-embossed-leather-clutch-wod8x' — the last path segment of a therealreal.com product URL. Every search/browse row returns it. |
| url | optional | — | A therealreal.com product URL instead of `slug`. |
/therealreal/v1/products/batch2 creditsUp to 50 listings in ONE upstream call, by slug — the shape a catalogue refresh or a price/availability watcher should use instead of 50 separate detail calls. Slugs that no longer resolve come back in `not_found` rather than failing the call.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| slugs | required | — | Up to 50 listing slugs (or product URLs), comma-separated or a JSON array. |
/therealreal/v1/product/similar1 creditVisually similar LIVE listings for one product id — the answer to 'this one-of-a-kind item is sold, what else is like it'. Same row shape as search.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| product_id | required | — | Numeric product id (every row and detail returns `product_id`). |
| only_similar = true | optional | — | Restrict to close matches rather than the wider visual set. |
/therealreal/v1/sold/search2 creditsSOLD comparables: what items matching a description actually sold for on TheRealReal, with the transacted price, the consignor commission percentage the site quotes on that price and the resulting payout, plus the condition grade of each comp. This is the resale pricing surface — the live catalogue only shows asking prices.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | What sold, e.g. 'chanel classic flap' or 'hermes birkin 30'. |
| page = 1 | optional | 1– | 1-based page. The catalogue connection stops at 2000 rows. |
| page_size = 48 | optional | 1–120 | Rows per page, 1-120 (the source's own ceiling). |
| category | optional | — | Category permalink, e.g. 'women/handbags', 'men/shoes', 'jewelry/earrings', 'watches/bracelet'. Call `categories` for the live tree. |
| category_id | optional | — | Category facet id(s) from `filters`/`categories`. |
| designer | optional | — | Designer slug, e.g. 'chanel', 'saint-laurent', 'louis-vuitton'. Call `designers` for the full index. |
| designer_id | optional | — | Designer facet id(s) (from `designers`). |
| condition | optional | pristine · excellent · very_good · good · fair · as_is | Condition grade(s) the site assigns. A numeric facet id is also accepted. |
| color | optional | black · brown · burgundy · red · blue · purple · pink · orange · green · metallic · grey · yellow · white · gold · silver · animal_print · pattern_prints · neutrals · clear | Colour / pattern facet(s). |
| gender | optional | women · men | Gender facet. |
| clothing_size | optional | petite · xxs · xs · s · m · l · xl · xxl · 3xl · 4xl · 5xl | Clothing size(s) (XS…5XL, Petite). |
| shoe_size | optional | 3.5 · 4 · 4.5 · 5 · 5.5 · 6 · 6.5 · 7 · 7.5 · 8 · 8.5 · 9 · 9.5 · 10 · 10.5 · 11 · 11.5 · 12 · 12.5 · 13 · 13.5 · 14 · 14.5 · 15 · 15.5 · 16 · 16.5 · 17 · 18 | US shoe size(s), 3.5-18. |
| store_id | optional | — | Physical-store id(s) — items available in that TheRealReal store. `filters` lists them. |
| price_min | optional | 0– | Minimum asking price in USD. |
| price_max | optional | 0– | Maximum asking price in USD. |
| on_sale = false | optional | — | Only items the site currently marks as marked down. |
| vintage = false | optional | — | Only items flagged vintage. |
| with_tags = false | optional | — | Only items still carrying their original tags. |
| editors_picks = false | optional | — | Only editors' picks. |
/therealreal/v1/suggestfreeThe search box's own autocomplete for a partial term — the cheapest way to find the phrasing the catalogue actually indexes.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Partial term, e.g. 'chan'. |
| limit = 10 | optional | 1–50 | Max suggestions to return. |
/therealreal/v1/trending1 creditTheRealReal's own demand signal, as three ranked lists of designer + item-class pairs: what is selling fastest, what is most wishlisted and what is searched most. This is the site's own read on its market, not a metric this API computes.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| limit = 50 | optional | 1–200 | Max entries per list. |
/therealreal/v1/designersfreeThe designer index for one department — 5 417 names for women, 2 745 for men — each with the facet id `browse` takes. Use `search`/`browse` with `designer` (slug) or `designer_id`.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category = women | optional | women · men · fine-jewelry · watches · art · home · kids | Which directory to list. |
| query | optional | — | Filter the index by a name fragment, e.g. 'saint'. |
/therealreal/v1/categoriesfreeThe live category tree with a live item count per node — the `category` permalinks every other action takes. Optionally scoped to one department or designer.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category | optional | — | Category permalink, e.g. 'women/handbags', 'men/shoes', 'jewelry/earrings', 'watches/bracelet'. Call `categories` for the live tree. |
| designer | optional | — | Designer slug, e.g. 'chanel', 'saint-laurent', 'louis-vuitton'. Call `designers` for the full index. |
| designer_id | optional | — | Designer facet id(s) (from `designers`). |
/therealreal/v1/filtersfreeEvery facet the catalogue exposes for a given scope, with live counts and the exact ids the filter params take: condition grades, colours, clothing and shoe sizes, gender, designers, physical stores, the price range and the boolean flags. Call this instead of hard-coding an id.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| currency = USD | optional | USD · EUR · GBP · CAD · AUD · JPY · HKD · SGD · MXN | Display currency for the *_display fields. Prices are ALSO always returned in USD, because the source converts the label only. |
| category | optional | — | Category permalink, e.g. 'women/handbags', 'men/shoes', 'jewelry/earrings', 'watches/bracelet'. Call `categories` for the live tree. |
| category_id | optional | — | Category facet id(s) from `filters`/`categories`. |
| designer | optional | — | Designer slug, e.g. 'chanel', 'saint-laurent', 'louis-vuitton'. Call `designers` for the full index. |
| designer_id | optional | — | Designer facet id(s) (from `designers`). |
| condition | optional | pristine · excellent · very_good · good · fair · as_is | Condition grade(s) the site assigns. A numeric facet id is also accepted. |
| color | optional | black · brown · burgundy · red · blue · purple · pink · orange · green · metallic · grey · yellow · white · gold · silver · animal_print · pattern_prints · neutrals · clear | Colour / pattern facet(s). |
| gender | optional | women · men | Gender facet. |
| clothing_size | optional | petite · xxs · xs · s · m · l · xl · xxl · 3xl · 4xl · 5xl | Clothing size(s) (XS…5XL, Petite). |
| shoe_size | optional | 3.5 · 4 · 4.5 · 5 · 5.5 · 6 · 6.5 · 7 · 7.5 · 8 · 8.5 · 9 · 9.5 · 10 · 10.5 · 11 · 11.5 · 12 · 12.5 · 13 · 13.5 · 14 · 14.5 · 15 · 15.5 · 16 · 16.5 · 17 · 18 | US shoe size(s), 3.5-18. |
| store_id | optional | — | Physical-store id(s) — items available in that TheRealReal store. `filters` lists them. |
| price_min | optional | 0– | Minimum asking price in USD. |
| price_max | optional | 0– | Maximum asking price in USD. |
| availability = available | optional | available · all | 'available' hides sold listings (default); 'all' keeps them. Sold items are a real state on a one-of-a-kind marketplace, not an error. |
| on_sale = false | optional | — | Only items the site currently marks as marked down. |
| vintage = false | optional | — | Only items flagged vintage. |
| with_tags = false | optional | — | Only items still carrying their original tags. |
| editors_picks = false | optional | — | Only editors' picks. |
curl -X POST https://api.reefapi.com/therealreal/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"chanel classic flap","page_size":24}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}