24S Scraper — Luxury Fashion Prices, Stock & Sizes
Pricing
from $1.20 / 1,000 result scrapeds
24S Scraper — Luxury Fashion Prices, Stock & Sizes
Scrape 24S (24s.com), LVMH's own multi-brand luxury e-commerce site, for designer clothing, bags, shoes and accessories: prices (incl. active discounts), real per-size stock, composition, images and category tree. No login required.
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
24S Scraper
Search or browse 24S.com — LVMH's own multi-brand luxury e-commerce site — and get back structured product data: designer, price with active discounts, the real per-size stock ladder, composition, images and category tree.
Why use this actor
24S runs its own price events independently of the brands it stocks, so a garment can be full price at the brand's own store and reduced on 24S. The useful part of this actor is that it reads the actual post-discount price off the product page, not the "was" price the category grid shows even during a sale (verified 2026-09-14: a -40% coat's listing card reports the full €2,585, the product page reports the real €1,551).
If you are price-monitoring luxury retail, tracking sale depth across retailers, or maintaining a product database, that distinction is the difference between a feed that quietly reports the wrong number during every sale and one that doesn't.
How to scrape 24S data
- Put one or more search terms in Search Queries, e.g.
gucci bag,khaite dress. Pick Universe (womenormen). - Pick a Country / Market.
beis Belgium in EUR; markets each have their own prices and stock. - Set Max Items and run it.
No login, no cookies to supply, and no proxy. The actor handles 24S's anti-bot protection itself.
Category mode
Set Category Slugs to browse a category listing directly instead of searching.
- Take the part of a 24S category URL after the locale. For
https://www.24s.com/en-be/women/ready-to-wear/dressesthat iswomen/ready-to-wear/dresses. - Put it in Category Slugs:
["women/ready-to-wear/dresses"]. You can list several, and you can also paste the full URL directly — the locale is stripped for you. - Set Max Items and run it. Pagination through the category is handled for you.
Other slugs that work the same way: women/brands/dior, women/new-arrivals,
women/events/shop-sale, men/shoes. Category Slugs takes priority over
Search Queries when both are set.
Input
| Field | Type | Required | Description |
|---|---|---|---|
categorySlugs | Array | No | Browse category listings directly, e.g. ["women/ready-to-wear/dresses"]. Takes priority over Search Queries. See Category mode above |
searchQueries | Array | No | One or more search terms. Default ["gucci bag"] |
searchQuery | String | No | Single-term alternative to searchQueries |
universe | String | No | women (default) or men. Ignored in category mode |
country | String | No | Market to read as an ISO 2-letter code, default be. gb is the UK (GBP) — there is no uk locale |
maxItems | Integer | No | Stop after this many products across all queries or categories. Default 50 |
fetchProductDetails | Boolean | No | Fetch the real size ladder, composition and post-discount price. Default true |
proxyConfiguration | Object | No | Ignored on purpose, see Limitations |
Output
| Field | Type | Example |
|---|---|---|
name | String | "Ria maxi dress" |
brand | String | "KHAITE" |
sku | String | "KHA3579JOWH5N1A100" |
shortSku | String | "KHA3579JOWH", the colourway-level code |
price | Number | 1551 — post-discount when fetchProductDetails is on |
currency | String | "EUR" |
originalPrice | Number | 2585, only when actually reduced |
discount | String | "-40%", only when reduced |
color | String | "sabbia" |
inStock | Boolean | true when any size is buyable |
sizes | Array | Real per-size stock, one entry per SKU |
category | Array | ["Women", "Ready-to-wear", "Coats", "Short coats"] |
categoryPath | String | "Women > Ready-to-wear > Coats > Short coats" |
imageUrl | String | Main product image |
imageUrls | Array | All available views |
url | String | Product page on the chosen market |
description | String | 24S's editorial copy |
composition | String | "100% cashmere" |
madeIn | String | "Italy" |
gender | String | "women" |
seller | String | "24s" on everything sampled — 24S is its own seller, not a marketplace |
country | String | "BE" |
searchQuery | String or null | The query that returned this product, null in category mode |
categorySlug | String or null | The category that returned this product, null in search mode |
scrapedAt | String | ISO 8601 timestamp |
24S does not publish a manufacturer style code
Unlike NET-A-PORTER (mfPartNumber) or Farfetch (brandStyleId), 24S's
product pages carry no brand-issued code anywhere in the record — only its
own internal SKU. sku and shortSku are useful as 24S-internal identifiers
(stable across a run, unique per colourway/size), but they will not match the
same garment's code on another retailer's site or the brand's own store.
Size ladder
Each entry in sizes is one SKU, populated only when fetchProductDetails
is on:
| Field | Meaning |
|---|---|
sizeLabel | Brand size label, e.g. "US 4". "no size" for bags and most accessories |
sizeCode | 24S's internal size code |
longSKU | Full SKU for this exact size |
hasStock | Buyable right now — this is real per-item stock, not a size schema. Verified 2026-09-14: a dress with 3 sizes had one sold out (hasStock: false, stock: 0) and two available |
stock | Unit count |
Example output
{"name": "Double-breasted coat","brand": "MAX MARA","sku": "MAXNEW57BEI7E11A00","shortSku": "MAXNEW57BEI","price": 1551,"currency": "EUR","originalPrice": 2585,"discount": "-40%","color": "sabbia","inStock": true,"sizes": [{ "sizeLabel": "FR 40", "sizeCode": "7E11A", "longSKU": "MAXNEW57BEI7E11A00", "hasStock": true, "stock": 1 }],"category": ["Women", "Ready-to-wear", "Coats", "Short coats"],"categoryPath": "Women > Ready-to-wear > Coats > Short coats","imageUrl": "https://www.24s.com/static/images/XhWUI8C0j4SEFIcruBwbjQ4aGmM=/fit-in/250x0/4de0a270c9374ceb815a65e55b9d13bd","url": "https://www.24s.com/en-be/double-breasted-coat-max-mara_MAXNEW57BEI?color=beige","description": "A masterpiece of modern elegance from Max Mara...","composition": "100% cashmere","madeIn": "Italy","gender": "women","seller": "24s","country": "BE","searchQuery": null,"categorySlug": "women/events/shop-sale","scrapedAt": "2026-09-14T09:23:59.699Z"}
Speed and cost
The run starts with a one-off browser warm-up of about 5-8 seconds to get past 24S's anti-bot protection. After that, every listing page and every product detail page is a plain HTTP fetch at roughly 0.3-0.6 seconds — no browser needed for the rest of the run. A measured run: 50 products across a default search in 37.7 seconds including warm-up, with no re-warm needed for the whole run.
Turning Fetch Product Detail off removes one fetch per product, at the
cost of the sizes ladder, description, composition, madeIn, and the
real post-discount price.
No proxy is used, so there is no proxy cost. Billing is pay-per-result: you are charged per product row returned, plus a small per-run start fee — usage cost only settles once a run finishes as SUCCEEDED, not while it is still running.
Cost estimate
This actor charges per result rather than per compute unit. Budget roughly $0.002 per product plus a small per-run start fee — for a 1,000-item run that's about $2, most of it well under a minute of Camoufox warm-up and sub-second HTTP fetches after that.
Limitations
- No manufacturer style code. See above —
sku/shortSkuare 24S's own identifiers, not a cross-retailer join key. - Leave the proxy off. A direct connection is what gets past 24S's Akamai protection; the whole luxury cluster this actor sits alongside (NET-A-PORTER, Mytheresa, Farfetch) measures residential exits performing worse than direct. The setting is honoured if you turn it on, but it is an escape hatch for a burned IP range, not a default.
- The listing price can be stale during a sale. With ,fetchProductDetails: false
priceis whatever the category grid shows, which 24S renders as the pre-discount figure even on a reduced item. TurnfetchProductDetailson for an accurate current price. - One colourway is one record. A bag in three colours returns three records with three different SKUs, which is correct.
- Data is scraped from the public website and may change without notice. Respect the website's terms of service and use responsibly.
Related scrapers
- NET-A-PORTER Scraper —
publishes a real manufacturer style code (
mfPartNumber), useful for cross-retailer matching that this actor cannot do on its own. - Farfetch Scraper — the
multi-boutique luxury marketplace,
brandStyleIdon the product detail. - Mytheresa Scraper — the other big European full-price luxury retailer.
- Vinted Scraper — Europe's largest secondhand fashion marketplace, useful for comparing retail against resale.
Need this data on a schedule, or a custom version?
We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple luxury sources into one feed.