Farfetch prices, sizes and the boutiques behind them in 68 countries, one API
The Farfetch API turns farfetch.com, the luxury marketplace where boutiques and brand stores sell side by side, into clean JSON in three actions: search, product/detail and suggest.
3 active endpoints. Every call is 1 credit.
- POST/farfetch/v1/search
- POST/farfetch/v1/product/detail
- POST/farfetch/v1/suggest
What Farfetch endpoints does ReefAPI ship?
3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Farfetch API
3 of 3 endpoints, ready to run
One page of Farfetch results in a storefront country: item id, designer, name, the price a shopper pays, the struck price + sale %, the boutique id, sizes in stock, pre-owned + condition, and images.
{ "ok": true, "meta": { "api": "farfetch", "endpoint": "search", "mode": "live", "latency_ms": 1201.6, "record_count": 48, "cache_hit": false }, "data": { "results": [ { "product_id": "37163888", "url": "https://www.farfetch.com/uk/shopping/men/gucci-como-loafers-item-37163888.aspx", "brand": "Gucci", "brand_id": "25354", "name": "Como loafers", "label": "New Season", "price": 689, "currency": "GBP", "was_price": null, "discount_percent": null, "on_sale": false, "price_type": "FULL", "promotion_offer": null, "purchasable": true, "boutique_id": "16905", "search_index_stock_quantity": 62, "sizes_in_stock": [ "40", "40.5", "41" ], "size_count": 11, "color_count": null, "pre_owned": false, "condition": null, "members_only": false, "image": "https://cdn-images.farfetch-contents.com/37/16/38/88/37163888_69701878_480.jpg", "images": [ "https://cdn-images.farfetch-contents.com/37/16/38/88/37163888_69701878_480.jpg", "https://cdn-images.farfetch-contents.com/37/16/38/88/37163888_69701132_480.jpg" ] }, { "product_id": "23371610", "url": "https://www.farfetch.com/uk/shopping/women/gucci-jordaan-loafers-item-23371610.aspx", "brand": "Gucci", "brand_id": "25354", "name": "Jordaan loafers", "label": null, "price": 766, "currency": "GBP", "was_price": null, "discount_percent": null, "on_sale": false, "price_type": "FULL", "promotion_offer": null, "purchasable": true, "boutique_id": "16010", "search_index_stock_quantity": 29, "sizes_in_stock": [ "36", "37", "37.5" ], "size_count": 8, "color_count": null, "pre_owned": false, "condition": null, "members_only": false, "image": "https://cdn-images.farfetch-contents.com/23/37/16/10/23371610_53436666_480.jpg", "images": [ "https://cdn-images.farfetch-contents.com/23/37/16/10/23371610_53436666_480.jpg", "https://cdn-images.farfetch-contents.com/23/37/16/10/23371610_53436673_480.jpg" ] }, { "product_id": "27474355", "url": "https://www.farfetch.com/uk/shopping/women/gucci-jordaan-loafers-item-27474355.aspx", "brand": "Gucci", "brand_id": "25354", "name": "Jordaan loafers", "label": null, "price": 830, "currency": "GBP", "was_price": null, "discount_percent": null, "on_sale": false, "price_type": "FULL", "promotion_offer": null, "purchasable": true, "boutique_id": "16265", "search_index_stock_quantity": 1, "sizes_in_stock": [ "41" ], "size_count": 1, "color_count": null, "pre_owned": false, "condition": null, "members_only": false, "image": "https://cdn-images.farfetch-contents.com/27/47/43/55/27474355_57340398_480.jpg", "images": [ "https://cdn-images.farfetch-contents.com/27/47/43/55/27474355_57340398_480.jpg", "https://cdn-images.farfetch-contents.com/27/47/43/55/27474355_57340394_480.jpg" ] } ], "count": 48, "total_results": 74, "page": 1, "page_size": 48, "has_more": true, "sort": "relevance", "query": "gucci loafers", "gender": "all", "brand_id": null, "category_id": null, "on_sale": false, "country": "uk", "language": "en", "currency": "GBP", "keyword_matches_on_page": 48, "fallback_results_dropped": 0 } }
How the Farfetch API works
Farfetch is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Find an item, then see every boutique selling it and in which size
A search row is the page offer. product/detail opens the full record: each size with the boutiques offering it, their own prices and ship-from countries.
{"country": "de", "query": "zimmermann hoodie", "sort": "price_asc"}Rows in price order in EUR, each with was_price and sale %. Take results[].product_id.
{"country": "de", "product_id": "<results[0].product_id>"}Every size with its boutique offers (name, ship-from, quantity, price), lowest and highest offer, composition, made-in and the VAT/duties basis.
{"country": "uk", "product_id": "<same id>"}The same item in the UK storefront: its GBP price and duties basis, for a cross-country comparison.
One flat credit per call, with the page price, each boutique's offer and the country's tax basis kept apart.
curl -X POST https://api.reefapi.com/farfetch/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"country":"us","query":"gucci"}'{
"ok": true,
"data": { … },
"meta": {
"api": "farfetch",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}The same item has a different price, currency and tax basis in every country, and a different boutique per size
Farfetch prices are set per storefront, and one product is often stocked by several boutiques. The API returns the country's price with the duties basis the site shows, keeps the page price separate from every other boutique's offer, and returns each size with who sells it and for how much.
| ZIMMERMANN Coco cotton hoodie | price | was_price | duties basis | who sells it |
|---|---|---|---|---|
| Germany (EUR) | 352 | 452 (−20 %) | VAT included | ELLITE ALTEA, Spain (XS, S); JANES, Portugal (M) at 397 |
| United Kingdom (GBP) | 300 | null | Import duties included | same boutiques |
| Japan (JPY) | 65,700 | 96,500 | Import duties included | same boutiques |
| United States (USD) | 443 | null | Import duties included | same boutiques |
Values from 2026-09-15. price is the page offer; lowest_price and highest_price span every in-stock boutique offer; sizes[].offers[] lists each boutique's own price, quantity and ship-from country. A sale search is product-level: a product is included when any of its offers is discounted, so a row's own on_sale can be false. When an item is not sold to a country, price is null and purchasable is false, never 0.
Which countries, which price is which, and what Farfetch does not publish
68 storefronts. Measured on 2026-09-15: 179 live cases across every country, 12 products in 4 categories, and 6 products checked against the product page. Some of these lines go against us.
One country parameter picks the storefront; the currency follows it (22 currencies) and taxes_and_duties carries the basis the site shows (VAT included, import duties included, or FTA). Turkey, Russia, Ukraine, Belarus and Lebanon are not served by Farfetch and return MARKET_UNAVAILABLE.
price is the offer the product page shows. product/detail lists each size with the boutiques offering it, their own price, quantity and ship-from country, plus lowest_price, highest_price and boutique_count, so a cheaper size from another boutique is never hidden.
The on_sale filter includes a product when any offer is discounted, so a row's own on_sale can be false (40 of 48 rows were page-on-sale in a live sale search). promotion_offer describes another offer's discount and is never used as price.
A query with no genuine match returns an empty list; unrelated padding is dropped and counted (45 of 45 real queries kept their results, 9 of 9 nonsense queries came back empty). Typos keep their results.
In Oman, Jordan, Israel, Morocco, Peru, Macau, Malaysia, Indonesia, the Philippines, Vietnam, Nigeria, Kenya, Kazakhstan, South Africa and Iceland the site shows a base price without a duties line, and taxes_and_duties is null. When an item is not sold to a country, price is null and purchasable is false.
search_index_stock_quantity on a row comes from the search index and matched the live figure on 13 of 17 products. Use product/detail for live stock and per-size quantities.
Farfetch publishes none of these, so none are returned. The product copy is the highlight bullets; composition, made-in, care and measurements are returned when the item has them (care is often absent on shoes and pre-owned items).
What people build with Farfetch
The jobs this data is most often used for.
endpoints
credit per call
Luxury price-monitoring teams compare one item's price, struck price and duties basis across up to 68 countries from a single API.
Brands and resellers see which boutiques stock their products, in which sizes, at what price and from which country they ship.
Resale and authentication platforms pull pre-owned listings with their condition grades and measurements.
Catalog and assortment teams read composition, made-in, season and the designer style id to match products across retailers.
What Farfetch data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 252 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/farfetch/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"country":"us","query":"gucci"}'import requests
r = requests.post(
"https://api.reefapi.com/farfetch/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"country": "us",
"query": "gucci"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Farfetch.
Get a free key →Which countries does it cover, and what currency and tax basis come back?▾
68 storefronts: the United States, the United Kingdom, the EU countries, Switzerland, Norway, the Nordics, the Gulf (UAE, Saudi Arabia, Qatar, Kuwait, Bahrain, Oman), Japan, Korea, China, Hong Kong, Macau, Taiwan, Singapore, Australia, New Zealand, Canada, Mexico, Brazil, Argentina, Chile, Colombia, Peru, India and more. The currency follows the storefront (22 currencies). taxes_and_duties carries the site's own basis: VAT included, import duties included, or a free-trade-agreement price. Fifteen storefronts show no duties line at all, and taxes_and_duties is null there. Turkey, Russia, Ukraine, Belarus and Lebanon are not served by Farfetch and return MARKET_UNAVAILABLE.
Why can one product have several prices?▾
Because on Farfetch different boutiques can sell different sizes of the same product. price is the offer the product page shows. product/detail lists every size with its offers (boutique name, ship-from country and city, quantity, price, was_price), plus lowest_price, highest_price and boutique_count. The ZIMMERMANN hoodie in Germany is 352 € (was 452 €) in XS and S from a Spanish boutique and 397 € in M from a Portuguese one.
How do sale, struck prices and promotions work?▾
was_price is returned only when the site shows a higher struck price, with discount_percent from the site's own sale. on_sale says whether the row's page price is the discounted one. The on_sale filter follows Farfetch's own sale listing, which includes a product when any of its offers is discounted. promotion_offer is the discounted offer of another size or boutique of the same product: it is informational, never the price, and it can be higher than the page price.
Does it cover pre-owned items?▾
Yes. Farfetch lists pre-owned pieces from resale partners. Rows and products carry pre_owned: true, and condition (Unworn, Excellent, Good…) when the site grades the item. A live search for pre-owned Chanel bags returned 12 of 12 rows flagged. Pre-owned items often sit in both the women's and men's category trees, returned as category_paths.
What does a product record include beyond the price?▾
The designer and the designer's own style id, name, the highlight bullets the page shows, season (e.g. AW25, VINTAGE), gender, colour, made-in, composition by material and percentage, care instructions, measurements for bags, eyewear and jewellery, the category path, size scale, every size with availability and boutique offers, the total stock, and the images. Farfetch publishes no reviews or ratings, no EAN and no long description paragraph, so those are not returned.
What happens on a query with no match, a typo, or a word in another language?▾
A query with no genuine match returns an empty list. When Farfetch pads such a page with unrelated products, they are dropped and counted in fallback_results_dropped, and include_fallback_results=true returns them separately. Typos like 'pradaa' or 'moncller' keep their results. Keyword search follows the language parameter: search 'Kleid' with language=de or 'bolso' with language=es.
Is stock on a search row the same as on the product?▾
Not always. A search row's search_index_stock_quantity comes from the search index and can lag. It matched the live figure on 13 of 17 products checked. product/detail returns stock_quantity from the live product, and each size's quantity per boutique.
What is the Farfetch API?▾
Farfetch API is a ReefAPI endpoint group for luxury fashion from boutiques worldwide in 68 countries: local prices, every size with the boutique that sells it, composition and made-in as json. It returns live JSON through POST requests under /farfetch/v1.
Is the Farfetch API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Farfetch calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Farfetch login or account?▾
No login to Farfetch is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Farfetch data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Farfetch API use?▾
Farfetch actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Farfetch from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call farfetch actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Farfetch API a Farfetch scraper?▾
It is the managed alternative to a DIY Farfetch scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same luxury fashion from boutiques worldwide in 68 countries: local prices, every size with the boutique that sells it, composition and made-in as json back as clean JSON.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Farfetch, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 251 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-15.