Seven Inditex brands in one dataset: Zara, Zara Home, Bershka, Massimo Dutti, Stradivarius, Oysho and Pull&Bear, all 58 columns, so rows from different brands compare directly. Price, sizes, stock, barcodes across 200+ country stores. No account or proxy needed.
All notable changes to the Inditex product scrapers — Zara, Zara Home, Bershka, Massimo Dutti,
Stradivarius, Oysho, Pull&Bear, and the combined all-brands Actor — are documented in this file.
[1.0.0] — 2026-08-13
🎉 First build
Seven brands, one schema — Zara, Zara Home, Bershka, Massimo Dutti, Stradivarius, Oysho and Pull&Bear return the same 58 columns, so a Bershka row and a Zara row can sit in the same table and mean the same thing
200+ country stores — every market the brands operate, each priced in its own currency with the market's own divisor applied, so a Japanese run returns usable yen rather than raw numbers
Per-SKU sizes, stock and GTIN barcodes — colour by size with buyable and back-soon flags, barcodes on the six shared-catalogue brands, and the physical dimensions, gram weight and country of origin of each SKU
Promotion windows — per-SKU price start and end dates, so a price row tells you the date a markdown ends rather than only that one is running
Drop detection on Zara — first_visible_date records when a product entered the catalogue; diff two runs and you have a new-arrivals feed
Three ways in — sweep every category, sweep the sitemap for catalogue items no category lists, or paste your own product URLs and ids
Filters that match the site — facet filters by colour, size, category and discount, plus price floor and ceiling in the market's own major units
A bill you can audit — the source column on every row names the call that produced it, so an invoice reconciles line by line against the dataset
💎 User benefits
Sizes and per-SKU stock arrive in the cheap category sweep on six of the seven brands, with no second request and no second charge
Prices come back with a currency and a correct divisor, so a multi-market export is comparable without out-of-band knowledge
GTIN barcodes give you a join key to any other retail dataset instead of fuzzy name matching
Duplicates are removed before anything is charged, so the product count you set is the product count you pay for
The run summary separates products that no longer exist from fetches that genuinely failed, so you know whether a short dataset needs a re-run
🎯 Use cases
Pricing analysts comparing the same garment across six markets in local currency
Retail analysts tracking markdown depth and the exact date each promotion ends
Resellers checking which sizes are genuinely in stock before sourcing
Marketplace teams matching Inditex products to their own inventory on GTIN barcodes
Trend researchers diffing weekly runs to catch new arrivals the day they appear
Category managers measuring range width, carryover versus seasonal split, and price architecture across sibling brands
📋 Known data limits, stated up front
No Inditex brand publishes ratings or reviews through these catalogues, so no review field exists on any of the eight Actors
None of these sites offers a server-side keyword search; scrape a category or the whole tree and filter the results yourself
Massimo Dutti publishes no GTIN barcodes and fills descriptions on roughly 7% of products, which is why that Actor is priced below its sibling brands
Bershka fills descriptions on roughly 30% of products
first_visible_date is filled on Zara detail records only — an overview-only run returns it as null
traceability and certified_materials are present in the schema and frequently empty