Zara Scraper - Prices, Sizes, Stock and Images
Pricing
from $1.78 / 1,000 products
Zara Scraper - Prices, Sizes, Stock and Images
Scrape Zara's catalogue in a country store by search term, category or product link. Each product colour comes back with its price, previous price and discount, currency, colours, sizes with per-size stock and SKU, photos, reference and link. No account needed. $1.84 per 1,000 products.
Pricing
from $1.78 / 1,000 products
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
Get Zara products with prices, sizes and stock from a Zara country store: type a search term, paste Zara category or product links, or give category ids, and each product colour comes back as a row with its name, price and markdown, currency, colours, sizes with SKU and stock, photos, reference and link.
Stock is Zara's own word for each size, like in stock or sold out, never a number, because Zara publishes no count. And with sizes on, about 2,500 products fit in a run's default hour.
| Input | Search terms, Zara category or product links, or category ids, plus a country |
| Output | One row per product colour: price and markdown, currency, colours, sizes with SKU and stock, photos, reference and link |
| Ceiling | 5,000 products per run. With sizes on, about 2,500 fit in the default hour |
| Account needed | None |
| Price | $1.84 per 1,000 products on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 2,700 |
🔍 What Zara Scraper does
It lists products the way Zara's own grid does, once per colour. A black blazer and the same blazer
in brown are two rows. Each row carries the garment's full colour list, so group on
parentReference if you would rather count garments than colours.
Prices arrive as plain numbers in the store's currency. Japan, Korea, Vietnam, Chile and Iceland quote whole units, so the decimal count comes from each market rather than a guess. Seventy-one country stores are recognised, and the same shirt is often marked down in one and full price in the next.
Zara never answers "no results". Search it for something it does not sell and it sends back about
300 products picked by similarity, and they look convincing: refrigerator on the US store gives
cooler boxes. Those are dropped, not charged, and you get one free note so you can fix the term.
Ordinary misspellings like jeens or linnen shirt still come back as real matches, and so does a
reference like 1957/102.
Zara also pins the same garment into several spots on one grid. Repeats are dropped, and so are its LOOK tiles, which are outfits of separate products priced at their total. A category page showing 76 tiles, two of them LOOKs, gives you its 49 distinct garment colours, and you pay for 49. Thirty linen shirts with sizes took 43 seconds on a test run.
📋 What data you get from each Zara product
| What you get | Field |
|---|---|
| Ids and references for this colourway and the garment | productId, productReference, parentReference, displayReference, seoProductId |
| Name, description and brand | name, description, brand |
| Zara's own classification | section, family, subfamily, productTags |
| Price, struck-through price, discount and currency | price, oldPrice, discountPercentage, currency |
| Stock word for the colourway | availability |
| This colour, and every colour the garment comes in | colorId, colorName, colorHex, allColors |
| Each size with its stock word, SKU and price | sizes, sizesInStock, sizeLookup |
| Photos and the product link | images, url |
| The store it was read from | country, language, store |
| Where the row came from | searchTerm, matchType, categoryId, categoryPath, position |
▶️ How to scrape Zara products
- Open Zara Scraper and click Try for free.
- Type what you want into Search terms, or paste category or product pages into Zara links.
- Set Country and Language to the two codes in a Zara address,
usandenfor zara.com/us/en. - Set Maximum products. Leave Fetch sizes and per-size stock on unless prices and photos are all you need.
- Click Start, then download the dataset as JSON, CSV or Excel.
The sample row appears when a run has no search terms, links or category ids. It shows the shape of a row, is not live data, and is not charged.
💰 How much does it cost to scrape Zara products?
$1.84 per 1,000 products on the Free plan, whether sizes are on or off. Paid plans pay a little less: $1.82 on Starter, $1.80 on Scale and $1.78 on Business. On the free plan, the $5 Apify gives you each month covers about 2,700 products.
Not charged: the sample row, every note listed further down, Zara's look-alike suggestions unless you
switch them on, repeated tiles, LOOK tiles, items dropped by onlyInStock, and anything a run did not
get to write before its time limit. maxItems caps the whole run, so it is also the most you can
spend on products in one go.
📥 What you give it
{"searchTerms": ["linen shirt"],"country": "us","maxItems": 30}
| Field | Default | What it is |
|---|---|---|
searchTerms | none | What to look for, one per line. A reference works too: 1957/102 or 01957102 returns that garment. |
startUrls | none | Zara category, product or search links. Copy a category link after the page has loaded, so it carries the v1= number. A link without it still works, it just has to be looked up by name first. |
categoryIds | none | The v1= numbers of categories, if you already have them. Not the number after -l in the link. |
country | us | The country code from a Zara address: zara.com/es/es/ is es. It decides the currency and what is on sale. Links keep their own country. |
language | en | The language code from the same address. Copy both from a real Zara link. |
maxItems | 60 | 1 to 5,000, counted across everything in the run. |
includeSizes | true | One extra lookup per product for size names and per-size stock. Off is much faster and costs the same per row. |
onlyInStock | false | Keeps items Zara marks in_stock or low_on_stock, since both can be bought. Anything else, like sold out or coming soon, is dropped before the dataset and not charged. With sizes on, an item whose every size is sold out is dropped too, even when Zara lists it as in stock. |
includeRelatedMatches | false | Keeps Zara's look-alike suggestions when a search has no real match. They are then delivered and charged, marked related. |
proxyConfiguration | none | Optional. Servers of your own are used exactly as given. |
📤 What you get back
A real row from a run on the US store on 20 September 2026, with the photo list cut to one:
{"productId": "545493196","productReference": "C09621886121000-I2026","parentReference": "09621886-I2026","displayReference": "9621/886","seoProductId": "09621886","name": "100% LINEN CHECKED SHIRT","description": "Regular fit shirt made of linen fabric. Button-down collar and long sleeves with buttoned cuffs. Front button-up closure.","brand": "zara","section": "MAN","family": "SHIRT","subfamily": "Summer Shirt LS","productTags": [],"price": 79.9,"oldPrice": null,"discountPercentage": null,"currency": "USD","availability": "in_stock","colorId": "121","colorName": "Khaki","colorHex": "#68564A","allColors": [{ "name": "Khaki", "hex": "#68564A" }],"sizes": [{ "size": "S", "availability": "in_stock", "sku": "545493200", "price": 79.9 },{ "size": "M", "availability": "in_stock", "sku": "545493197", "price": 79.9 },{ "size": "L", "availability": "in_stock", "sku": "545493198", "price": 79.9 },{ "size": "XL", "availability": "in_stock", "sku": "545493199", "price": 79.9 }],"sizesInStock": ["S", "M", "L", "XL"],"sizeLookup": "ok","images": ["https://static.zara.net/assets/public/d346/b06f/92e048cbbcb1/30dcbe20d0b9/09621886121-f1/09621886121-f1.jpg?ts=1785938821924&w=1024"],"url": "https://www.zara.com/us/en/100-linen-checked-shirt-p09621886.html?v1=545493196","country": "us","language": "en","store": "11719","categoryId": null,"categoryPath": null,"searchTerm": "linen shirt","matchType": "exact","position": 2,"scrapedAt": "2026-09-20T02:35:52.941Z"}
| Field | How to read it |
|---|---|
productId | This colourway's id, the v1= number in its link. Stable enough to join runs on. |
parentReference, displayReference | The garment across all its colours, and the reference as the website prints it. |
oldPrice, discountPercentage | Stay null unless Zara shows a struck-through price. |
availability | Zara's word for it: in_stock, low_on_stock, out_of_stock or coming_soon. |
sizes, sizesInStock, sizeLookup | Each size with its stock word, SKU and price, then the sizes you can buy, low stock included. sizes is null, never an empty list, when the lookup did not come back or was switched off, and sizeLookup says which. |
matchType | exact, or related for a suggestion you chose to keep. |
🧾 Reading the output
Real product rows have no charged field at all. Every free row has one, set to false, so dropping
rows where charged is false leaves you with just the products.
| Row | How to spot it | Billed |
|---|---|---|
| A product | A productId and no charged field | yes |
| The sample | _sample: true and charged: false | no |
| A note | _diagnostic: true, charged: false, with an errorCode, an error and a hint | no |
errorCode | What it means |
|---|---|
NO_DIRECT_MATCH | Zara had nothing matching the term and offered look-alikes, which were dropped. Check the spelling. |
NO_RESULTS | The search came back empty in that country. Try a plainer word. |
UNKNOWN_MARKET | Zara runs no store at that country and language pair. |
BAD_URL, BAD_CATEGORY_ID | Not a Zara link, or a category id that is not a number. |
CATEGORY_NOT_FOUND | A category link that could not be matched. Copy it again once the grid has loaded. |
CATEGORY_EMPTY | A menu entry with no products in it, usually a landing page. |
PRODUCT_NOT_FOUND | Zara no longer sells that product in this store. |
SEARCH_REFUSED, NETWORK, API_ERROR, BAD_JSON | Zara did not answer that part of the run, or answered in a shape the actor cannot read. Run it again later. |
NOT_SERVED | This product was not served this run. Re-run it later. Runs before 13 October 2026 wrote BLOCKED here. |
NOTHING_IN_STOCK | With onlyInStock on, every product found had no size left to buy, so nothing was written. |
RUN_OUT_OF_TIME | The run reached its time limit. What was written before it is yours, and what was not is not charged. The run ends as failed only when the limit came before any product was written. |
💡 What people use it for
- Pricing the same garment in several countries, each in its own currency. Sale timing differs between countries too.
- Following a category through a sale, since
oldPriceanddiscountPercentagefill in the moment Zara strikes a price through. - Keeping a size-by-size stock sheet for a short list of products, on a schedule.
- Turning a list of Zara references into full product rows, one search term per reference.
🚧 What it does not do
- No stock counts. Zara publishes a word per size and no number behind it. Nobody can give you "7 left" from the public site.
- No per-shop stock. This is the online catalogue, not what a particular shop has on its rails.
- No fabric composition or care instructions. They are not collected.
- No reviews or ratings. Zara does not publish them.
- No price history. You get what the store shows during the run. Schedule it and compare runs.
- Search order is Zara's own and shifts between runs. For a repeatable set, use a category.
- Zara only. A link from another site comes back as a free
BAD_URLnote. - Editorial banners and LOOK tiles are skipped rather than returned as empty rows, since a LOOK is not a product of its own; the run log says how many it left out.
- It is not an official Zara tool. Dami's Studio is independent and is not affiliated with or endorsed by Zara or Inditex, or by any other company named on this page.
🧭 Which fashion and retail scraper do you need?
| If you want | Use |
|---|---|
| Zara products with sizes, stock and prices | This one |
| Shein's catalogue: ids, titles, links and images, without prices | Shein Catalog Scraper |
| A Shopify store's whole catalogue, variants and stock | Shopify Products Scraper |
| Target products with promotions and pickup stock | Target.com Product Scraper |
| Restock and price-drop alerts on stores that publish product data, such as Shopify or WooCommerce shops | Product Price & Stock Monitor |
❓ Questions people ask
Do I need a Zara account or an API key?
No. It reads the public catalogue, signed out.
How do I get every product in a Zara category?
Paste the category link and set Maximum products above the number of items in it. With sizes on, allow about a minute for every 85 products.
Why are there two rows with the same name?
They are two colours of one garment. Group on parentReference, and tell them apart with colorName
or colorId.
Why is oldPrice usually null?
Because most things are not on sale. It fills in when Zara shows a struck-through price.
Can I track Zara prices over time?
Yes. Run it on a schedule against the same categories and compare price between runs, joining on
productId.
Can I call it from code or connect it to an AI assistant?
The API tab has code for Python, JavaScript and the CLI. MCP
clients like Claude and ChatGPT use https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/zara-scraper;
coding assistants can load our skill
file. All three bill
your Apify account at the same price.
Is scraping Zara legal?
It reads public product pages. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.
🆘 If something breaks
Open the Issues tab on the actor page and send the input you used and the run ID; the note rows in the dataset usually name the reason already.