Zara Scraper - Prices, Sizes, Stock and Images avatar

Zara Scraper - Prices, Sizes, Stock and Images

Pricing

from $1.78 / 1,000 products

Go to Apify Store
Zara Scraper - Prices, Sizes, Stock and Images

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

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

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.

InputSearch terms, Zara category or product links, or category ids, plus a country
OutputOne row per product colour: price and markdown, currency, colours, sizes with SKU and stock, photos, reference and link
Ceiling5,000 products per run. With sizes on, about 2,500 fit in the default hour
Account neededNone
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 getField
Ids and references for this colourway and the garmentproductId, productReference, parentReference, displayReference, seoProductId
Name, description and brandname, description, brand
Zara's own classificationsection, family, subfamily, productTags
Price, struck-through price, discount and currencyprice, oldPrice, discountPercentage, currency
Stock word for the colourwayavailability
This colour, and every colour the garment comes incolorId, colorName, colorHex, allColors
Each size with its stock word, SKU and pricesizes, sizesInStock, sizeLookup
Photos and the product linkimages, url
The store it was read fromcountry, language, store
Where the row came fromsearchTerm, matchType, categoryId, categoryPath, position

▶️ How to scrape Zara products

  1. Open Zara Scraper and click Try for free.
  2. Type what you want into Search terms, or paste category or product pages into Zara links.
  3. Set Country and Language to the two codes in a Zara address, us and en for zara.com/us/en.
  4. Set Maximum products. Leave Fetch sizes and per-size stock on unless prices and photos are all you need.
  5. 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
}
FieldDefaultWhat it is
searchTermsnoneWhat to look for, one per line. A reference works too: 1957/102 or 01957102 returns that garment.
startUrlsnoneZara 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.
categoryIdsnoneThe v1= numbers of categories, if you already have them. Not the number after -l in the link.
countryusThe 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.
languageenThe language code from the same address. Copy both from a real Zara link.
maxItems601 to 5,000, counted across everything in the run.
includeSizestrueOne extra lookup per product for size names and per-size stock. Off is much faster and costs the same per row.
onlyInStockfalseKeeps 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.
includeRelatedMatchesfalseKeeps Zara's look-alike suggestions when a search has no real match. They are then delivered and charged, marked related.
proxyConfigurationnoneOptional. 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"
}
FieldHow to read it
productIdThis colourway's id, the v1= number in its link. Stable enough to join runs on.
parentReference, displayReferenceThe garment across all its colours, and the reference as the website prints it.
oldPrice, discountPercentageStay null unless Zara shows a struck-through price.
availabilityZara's word for it: in_stock, low_on_stock, out_of_stock or coming_soon.
sizes, sizesInStock, sizeLookupEach 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.
matchTypeexact, 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.

RowHow to spot itBilled
A productA productId and no charged fieldyes
The sample_sample: true and charged: falseno
A note_diagnostic: true, charged: false, with an errorCode, an error and a hintno
errorCodeWhat it means
NO_DIRECT_MATCHZara had nothing matching the term and offered look-alikes, which were dropped. Check the spelling.
NO_RESULTSThe search came back empty in that country. Try a plainer word.
UNKNOWN_MARKETZara runs no store at that country and language pair.
BAD_URL, BAD_CATEGORY_IDNot a Zara link, or a category id that is not a number.
CATEGORY_NOT_FOUNDA category link that could not be matched. Copy it again once the grid has loaded.
CATEGORY_EMPTYA menu entry with no products in it, usually a landing page.
PRODUCT_NOT_FOUNDZara no longer sells that product in this store.
SEARCH_REFUSED, NETWORK, API_ERROR, BAD_JSONZara did not answer that part of the run, or answered in a shape the actor cannot read. Run it again later.
NOT_SERVEDThis product was not served this run. Re-run it later. Runs before 13 October 2026 wrote BLOCKED here.
NOTHING_IN_STOCKWith onlyInStock on, every product found had no size left to buy, so nothing was written.
RUN_OUT_OF_TIMEThe 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 oldPrice and discountPercentage fill 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_URL note.
  • 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 wantUse
Zara products with sizes, stock and pricesThis one
Shein's catalogue: ids, titles, links and images, without pricesShein Catalog Scraper
A Shopify store's whole catalogue, variants and stockShopify Products Scraper
Target products with promotions and pickup stockTarget.com Product Scraper
Restock and price-drop alerts on stores that publish product data, such as Shopify or WooCommerce shopsProduct 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.

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.