24S Scraper — Luxury Fashion Prices, Stock & Sizes avatar

24S Scraper — Luxury Fashion Prices, Stock & Sizes

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
24S Scraper — Luxury Fashion Prices, Stock & Sizes

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

Studio Amba

Maintained by Community

Actor 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

  1. Put one or more search terms in Search Queries, e.g. gucci bag, khaite dress. Pick Universe (women or men).
  2. Pick a Country / Market. be is Belgium in EUR; markets each have their own prices and stock.
  3. 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.

  1. Take the part of a 24S category URL after the locale. For https://www.24s.com/en-be/women/ready-to-wear/dresses that is women/ready-to-wear/dresses.
  2. 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.
  3. 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

FieldTypeRequiredDescription
categorySlugsArrayNoBrowse category listings directly, e.g. ["women/ready-to-wear/dresses"]. Takes priority over Search Queries. See Category mode above
searchQueriesArrayNoOne or more search terms. Default ["gucci bag"]
searchQueryStringNoSingle-term alternative to searchQueries
universeStringNowomen (default) or men. Ignored in category mode
countryStringNoMarket to read as an ISO 2-letter code, default be. gb is the UK (GBP) — there is no uk locale
maxItemsIntegerNoStop after this many products across all queries or categories. Default 50
fetchProductDetailsBooleanNoFetch the real size ladder, composition and post-discount price. Default true
proxyConfigurationObjectNoIgnored on purpose, see Limitations

Output

FieldTypeExample
nameString"Ria maxi dress"
brandString"KHAITE"
skuString"KHA3579JOWH5N1A100"
shortSkuString"KHA3579JOWH", the colourway-level code
priceNumber1551 — post-discount when fetchProductDetails is on
currencyString"EUR"
originalPriceNumber2585, only when actually reduced
discountString"-40%", only when reduced
colorString"sabbia"
inStockBooleantrue when any size is buyable
sizesArrayReal per-size stock, one entry per SKU
categoryArray["Women", "Ready-to-wear", "Coats", "Short coats"]
categoryPathString"Women > Ready-to-wear > Coats > Short coats"
imageUrlStringMain product image
imageUrlsArrayAll available views
urlStringProduct page on the chosen market
descriptionString24S's editorial copy
compositionString"100% cashmere"
madeInString"Italy"
genderString"women"
sellerString"24s" on everything sampled — 24S is its own seller, not a marketplace
countryString"BE"
searchQueryString or nullThe query that returned this product, null in category mode
categorySlugString or nullThe category that returned this product, null in search mode
scrapedAtStringISO 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:

FieldMeaning
sizeLabelBrand size label, e.g. "US 4". "no size" for bags and most accessories
sizeCode24S's internal size code
longSKUFull SKU for this exact size
hasStockBuyable 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
stockUnit 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/shortSku are 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
    , price is whatever the category grid shows, which 24S renders as the pre-discount figure even on a reduced item. Turn fetchProductDetails on 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.
  • 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, brandStyleId on 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.