Farfetch API

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.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Farfetch endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
F
/farfetch/v1

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.

3 endpoints

search

1 cr

Search Farfetch in any storefront country by keyword and/or designer/category, with the site'…

required
optional
country, language, query, gender, sort, page, page_size, brand_id, category_id, color_id, on_sale, price_min, price_max, include_facets, include_fallback_results

product/detail

1 cr

The full Farfetch product by item id or URL in a storefront country.

required
optional
country, language, product_id, url

suggest

1 cr

Farfetch autocomplete for a partial keyword.

required
query
optional
country, language, gender

Every parameter, every allowed value →

Farfetch API

3 of 3 endpoints, ready to run

View docs ↗

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.

1 credit0 required · 13 optional
POST/farfetch/v1/search
ok1202 ms · 48 records · sample
{
  "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
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows, with seller names left out. Press Try it for the untrimmed response.

How the Farfetch API works

Farfetch is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 252 engines.

02
Call
POST /farfetch/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

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.

01search
POST/farfetch/v1/search
{"country": "de", "query": "zimmermann hoodie", "sort": "price_asc"}

Rows in price order in EUR, each with was_price and sale %. Take results[].product_id.

02detail
POST/farfetch/v1/product/detail
{"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.

03detail
POST/farfetch/v1/product/detail
{"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.

request
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"}'
response envelope
{
  "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 hoodiepricewas_priceduties basiswho sells it
Germany (EUR)352452 (−20 %)VAT includedELLITE ALTEA, Spain (XS, S); JANES, Portugal (M) at 397
United Kingdom (GBP)300nullImport duties includedsame boutiques
Japan (JPY)65,70096,500Import duties includedsame boutiques
United States (USD)443nullImport duties includedsame 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.

68 countries, each with its own price and tax basis

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.

The page price, and every boutique's offer per size

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.

Sale is product-level; promotions are not the price

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.

No-match searches come back empty

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.

Against us: 15 storefronts show no duties line

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.

Against us: search-row stock can lag

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.

Against us: no reviews, ratings, EAN or description paragraph

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.

3

endpoints

1

credit per call

01

Luxury price-monitoring teams compare one item's price, struck price and duties basis across up to 68 countries from a single API.

02

Brands and resellers see which boutiques stock their products, in which sizes, at what price and from which country they ship.

03

Resale and authentication platforms pull pre-owned listings with their condition grades and measurements.

04

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 →
$0.67–$1.50 / 1,000 credits
  • 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
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"}'
python
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"])
FAQ

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.

0/4000

No account needed · we reply from [email protected]

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.