Farfetch Scraper — Prices, Sizes, Boutiques & Style Codes
Pricing
from $1.20 / 1,000 result scrapeds
Farfetch Scraper — Prices, Sizes, Boutiques & Style Codes
Scrape Farfetch for designer clothing, bags and shoes: prices, real per-size stock, the selling boutique, images and the brandStyleId manufacturer style code you can join on across retailers. 12 markets, no login, no proxy needed.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Farfetch Scraper
Scrape Farfetch — the largest luxury marketplace on the web, roughly 978,000 products from hundreds of independent boutiques — and get back clean JSON: prices, real per-size availability, which boutique is holding which size, images, composition, and the manufacturer style code.
No login. No cookies to supply. No proxy needed.
What makes this one different
It returns brandStyleId. That is the brand's own style code — the string
printed on the hangtag and used on the designer's own website, e.g.
855491FAEUC for a Gucci mini bag or P3Q81SOOO187P for a Prada dress.
Luxury fashion has no EAN and no GTIN. Of the four big luxury retailers, only two
publish a real manufacturer code at all: Farfetch (brandStyleId) and
NET-A-PORTER (mfPartNumber). Mytheresa publishes none. Yoox exposes only its own
internal identifiers. So if you are building a cross-retailer product database,
price comparison, or resale pricing model, this field is the join key — everything
else has to be fuzzy-matched on brand plus normalised model name.
It tells you who is actually selling. Farfetch is a marketplace, not a shop.
The same dress is often listed by three different boutiques, in different sizes,
sometimes at different prices. This actor reports the selling boutique, where it
ships from, and — in full mode — which boutique holds each individual size:
size 38 (XS) — 2 in stock — PRADA ITsize 40 (S) — 4 in stock — PRADA IT CENTRAL WHsize 42 (M) — 4 in stock — KULT BOUTIQUE
Nothing else in the luxury space exposes that.
Fast search mode
Farfetch does not use a hosted search provider. There is no Algolia, Typesense, Constructor.io, Bloomreach or Klevu index sitting outside its bot wall — it runs its own search behind its own GraphQL gateway. So there is no cheap third-party index to point you at, and this actor talks to Farfetch's own API directly.
What that API does have is two depths, and they are a real trade-off:
mode: "index" | mode: "full" | |
|---|---|---|
| Speed | ~100 products / 9s call, 4 calls in parallel | index speed + 1 extra call per 16 products, also parallel |
| Fields | name, brand, price, was-price, discount, available sizes, stock quantity, category chain, images, merchant id, URL | everything in index, plus brandStyleId, the complete size ladder with per-size quantities and per-size boutique, colour + brand colour code, boutique name, ships-from city/country, composition, made-in, season, gender, size scale, editorial description |
| Not included | brandStyleId, boutique name, colour, composition, made-in, season, gender, description, the unavailable half of the size ladder | — |
| Best for | price monitoring, catalogue snapshots, availability tracking | cross-retailer matching, resale pricing, full product records |
Set mode: "index" (default) or mode: "full".
brandStyleId is PDP-level only. It is not on Farfetch's listing type at all
— asking for it there returns
The field 'brandStyleId' does not exist on the type 'ProductCatalogItem'full mode exists.
The good news is that full mode is nowhere near as expensive as "fetch every
product page" usually is. Farfetch's API takes 16 products per batched request,
and those requests run in parallel, so 1,000 products in full depth is about
three and a half minutes rather than the three hours a page-per-product crawl
would take.
One thing index mode does not lose: availability is real at both depths.
Farfetch's listing payload returns only the sizes that are currently buyable
(verified against the detail record: a Prada dress whose scale has 18 entries
listed exactly the 3 that had stock). What index mode loses is the rest of the
ladder and the per-size quantity, not the truth about what you can buy.
How to scrape Farfetch data
- Open the actor and set a search term, or leave it empty to browse the whole
catalogue and filter with
brand,categoryId,minPrice/maxPrice,minDiscountPercentoronSaleOnly. - Pick a depth.
indexfor speed,fullwhen you need style codes, boutiques or the complete size ladder. - Pick a market. Prices, currency and assortment all differ per storefront.
- Set
maxItemsand run. Results land in the dataset as JSON, CSV, Excel or via the API.
You do not need a Farfetch account, an API key, cookies, or a proxy. The actor opens one page in a headless browser to establish a session, then talks to Farfetch's own product API for everything else.
A note on searching by style code
Farfetch's own search does not index style codes. Searching for
855491FAEUC returns zero results even though Farfetch stocks that exact bag,
and space-separated variants are worse — they tokenise and return unrelated
products from other houses. So you cannot go code → product on Farfetch.
Go the other way: scrape a brand or category in full mode and build your own
code → product index. That works, and it is what the field is for.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | array | ["gucci bag"] | Search terms. Leave empty to browse the whole catalogue. |
searchQuery | string | — | Single-term convenience alternative. |
mode | enum | index | index or full. See the table above. |
market | enum | be | be, nl, fr, de, it, es, at, ie, uk, ch, se, dk. |
maxItems | integer | 100 | Stop after this many products. |
brand | string | — | Brand name, resolved to Farfetch's brand id via their own facet. |
categoryId | string | — | Farfetch category id, e.g. 141258 Women, 135971 Bags. |
onSaleOnly | boolean | false | Only discounted products. |
minPrice / maxPrice | integer | — | Price band in the market's currency. |
minDiscountPercent | integer | — | Only products reduced by at least this much. |
sortBy | enum | RANKING | RANKING, PRICE or NEW_ITEMS — the only three Farfetch offers. |
sortOrder | enum | ASC | ASC or DESC. |
pageSize | integer | 100 | Products per listing request. 100 is the ceiling. |
detailBatchSize | integer | 16 | Products per batched detail request in full mode. 16 is the ceiling — Farfetch caps a GraphQL document at 2,048 fields. |
concurrency | integer | 4 | Parallel requests. |
proxyConfiguration | object | off | Leave off. See "Proxies" below. |
Output
One record per product. Example from mode: "full":
{"name": "poplin mini-dress","brand": "Prada","brandStyleId": "P3Q81SOOO187P","price": 1900,"originalPrice": null,"discount": null,"currency": "EUR","sizes": [{ "size": "36", "alternateSize": "XXS", "available": false, "quantity": 0,"sizeId": "19", "merchantId": null, "merchantName": null },{ "size": "38", "alternateSize": "XS", "available": true, "quantity": 2,"sizeId": "21", "merchantId": "11245", "merchantName": "PRADA IT" },{ "size": "40", "alternateSize": "S", "available": true, "quantity": 4,"sizeId": "23", "merchantId": "12113", "merchantName": "PRADA IT CENTRAL WH" }],"inStock": true,"stockQuantity": 10,"category": "Day Dresses","categoryPath": "Women > Clothing > Dresses > Day Dresses","colour": "Blue","colourCode": "F0008 BLUE","imageUrl": "https://cdn-images.farfetch-contents.com/34/36/62/49/34366249_65406007_1000.jpg","url": "https://www.farfetch.com/be/shopping/women/prada-poplin-mini-dress-item-34366249.aspx","boutique": "PRADA IT CENTRAL WH","merchantId": "12113","sellerCity": "Milan","sellerCountry": "Italy","productId": "34366249","gender": "Woman","season": "AW26","composition": "Polyester 65%, Cotton 35%","madeIn": "Made in Italy","sizeScale": "Size","market": "be","mode": "full","scrapedAt": "2026-07-29T10:38:14.921Z"}
Field-by-field descriptions are in the output schema, visible in the Console before you run.
Speed and cost
Farfetch's API is slow per call — 8 to 10 seconds, flat, whether you ask for one product or a hundred. That is their backend, not this actor. Two things follow, and both are already built in: always request the maximum page size, and run calls in parallel (five concurrent calls finish in the time one takes).
Measured on 2026-07-29:
| Run | Result |
|---|---|
| Warm-up (once per run) | ~20–25s |
index, 600 products from the Bags catalogue | 52s total, 7 API calls |
full, 10 products with style codes and full size ladders | 54s total, 3 API calls |
The warm-up dominates small runs, so batch your queries into one run rather than firing many tiny ones.
Limitations
Worth knowing before you build on it:
- Pagination caps at 10,000 products per query. Beyond that Farfetch returns
nothing. Narrow with
brand,categoryIdor a price band to reach the rest. brandStyleIdneedsfullmode. It does not exist at listing level.originalPriceis Farfetch's own previous price, not a brand RRP. If you need a supplier-stated recommended retail price with a date on it, Yoox is the only luxury vendor that publishes one.- Style codes are not searchable on Farfetch. See above.
- One record per product, not per boutique offer. When several boutiques sell
the same product, the record describes the cheapest in-stock offer, and the
per-size
merchantNametells you where the rest of the stock sits. madeInis patchy. Farfetch populates it on some products and not others.- Prices, availability and assortment are per market and change constantly. Re-scrape rather than caching.
Proxies
Leave proxyConfiguration off. A direct connection is what works here, and it is
free. On the two sibling luxury sites measured on the same day, Apify residential
exits returned HTTP 403 where a direct connection returned 200 — those ranges are
already badly scored by the same WAF vendor.
The setting exists as an escape hatch. If runs start failing at the warm-up step, the outbound IP range may have been scored badly, and routing the browser through a different exit is the one thing a retry cannot fix.
Related scrapers
- NET-A-PORTER Scraper — the other luxury retailer that publishes a real
manufacturer style code (
mfPartNumber), and it puts the code on the search row, so bulk code harvesting is cheaper there. Smaller, curated, full-price. - Yoox Scraper — YNAP's outlet. The only luxury vendor that states an actual supplier RRP with a date, which makes it the reference point for any discount-versus-market-price calculation.
- Mytheresa Scraper — curated luxury, no style code, no sizes.
- Zalando Scraper — mid-market European fashion at far larger volume.
Legal
This actor reads publicly available product listings. It does not log in, does not touch personal data, and does not access anything behind an account. You are responsible for how you use the output, including compliance with Farfetch's terms and with applicable law.