Zara Product Scraper — Prices, Stock & Variants avatar

Zara Product Scraper — Prices, Stock & Variants

Pricing

from $4.00 / 1,000 product scrapeds

Go to Apify Store
Zara Product Scraper — Prices, Stock & Variants

Zara Product Scraper — Prices, Stock & Variants

Extract validated Zara product data from product URLs, search terms, or category pages. Get prices, sale prices, availability, images, color and size options, descriptions, and canonical URLs for fashion research and monitoring. Pay only for complete product rows.

Pricing

from $4.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Share

Zara Product Scraper is an Apify Actor for fashion analysts, ecommerce teams, monitoring workflows, and AI agents that need validated public Zara product records. It accepts Zara product URLs, category pages, search URLs, or product search terms. Each saved dataset item represents one complete product record, with fields such as productId, reference when available, name, price, originalPrice when shown, currency, availability, colors, sizes, images, description, category, canonical URL, source type, search term, and scrapedAt. The outcome is a clean, one-record-per-product dataset built for downstream analysis and automation.

Best fit and connected workflows

This Actor fits workflows that start with a public Zara product page, a Zara category page, or a Zara search page and need structured product rows. It also fits discovery runs where a simple term such as linen shirt is turned into a Zara search page for collection.

Common routing patterns include:

  • Direct product URL monitoring for price, sale price, stock text, and variants.
  • Search-term discovery for broader product collection from a selected Zara storefront.
  • Category-page collection for a bounded slice of a public Zara assortment.
  • Apify MCP usage when an agent needs a focused Zara product extraction tool with validated rows and provenance.

Practical scenario

Maya, a merchandiser, starts with a Zara search URL for linen shirts and sets maxProducts to 20. The run returns rows with productId, name, price, availability, colors, sizes, images, url, and scrapedAt. Maya uses availability and originalPrice to review live assortment and markdowns, then opens the canonical URLs to compare the storefront pages.

Input fields

FieldTypePurpose
startUrlsarray of stringsZara product, category, or search URLs for direct collection
searchTermsarray of stringsProduct terms used to construct Zara search pages
countrystringStorefront used when building search URLs from searchTerms
maxProductsintegerGlobal output and billing cap for the run
maxScrollsPerListingintegerScroll count for lazy-loaded search and category pages
includeVariantsbooleanIncludes color and size options from the product page
proxyConfigurationobjectProxy settings, with Residential as the default group

Focused JSON example

{
"startUrls": [
"https://www.zara.com/us/en/search?searchTerm=linen"
],
"searchTerms": [
"linen shirt"
],
"country": "US",
"maxProducts": 10,
"maxScrollsPerListing": 2,
"includeVariants": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Output fields

FieldTypeMeaning
productIdstringStable Zara product identifier when exposed
referencestring or nullProduct reference or SKU when shown
namestringCurrent Zara product title
descriptionstring or nullProduct description from the public product page
pricenumber or nullCurrent public price
originalPricenumber or nullPrevious public price when a markdown is shown
currencystring or nullCurrency code or symbol-derived code
availabilitystring or nullPublic availability text
colorsarray of stringsPublic color names at scrape time
sizesarray of stringsPublic size labels at scrape time
imagesarray of stringsPublic high-resolution image URLs
categorystring or nullPublic category or breadcrumb text
urlstringCanonical Zara URL of the product page
sourceTypestringDiscovery source such as search term, direct URL, or listing URL
searchTermstring or nullSearch term used for discovery
scrapedAtstringUTC timestamp for validation and save time

Illustrative JSON record

{
"productId": "43284705",
"reference": "5644/401/800",
"name": "LINEN BLEND SHIRT",
"description": "Relaxed fit shirt made from a linen blend.",
"price": 49.9,
"originalPrice": 69.9,
"currency": "USD",
"availability": "In stock",
"colors": ["Ecru", "Navy blue"],
"sizes": ["S", "M", "L"],
"images": [
"https://static.zara.net/photos///2026/V/0/1/p/5644/401/800/2/w/750/5644401800_1_1_1.jpg"
],
"category": "WOMAN / SHIRTS",
"url": "https://www.zara.com/us/en/linen-blend-shirt-p05644401.html",
"sourceType": "searchTerm",
"searchTerm": "linen shirt",
"scrapedAt": "2026-07-15T17:00:00.000Z"
}

How it works

The Actor uses a browser session with the default Apify Residential proxy configuration. It accepts direct Zara URLs or builds Zara search URLs from search terms and the selected storefront. For search and category pages, it uses listing scrolls to load more product cards up to the configured cap. Each product is validated before it is written to the dataset, and only complete schema-validated product rows are billed as Product scraped events. The default dataset contains product rows, while OUTPUT and RUN_SUMMARY provide terminal outcome and safe diagnostics.

Pricing

This Actor uses Pay per event pricing. The primary event is Product scraped, which is charged only when one complete, schema-validated Zara product record is saved to the default dataset. Apify platform usage also applies, including actor start charges, browser execution, and proxy usage.

For example, twenty-five saved products mean twenty-five product events. The live Pricing tab in Apify Console is the current source of truth for the latest pricing details and platform usage view.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. The exact Actor identity is khadinakbar/zara-product-scraper.

Tool description: use this tool when an agent needs a focused Zara product extraction workflow from product URLs, search terms, or category pages, with validated rows and provenance fields suitable for downstream reasoning.

Scrape Zara product rows for these search terms and return the validated dataset items with price, availability, images, colors, sizes, canonical URLs, and scrape timestamps. Use the US storefront and cap the run at 8 products.

Output interpretation: the default dataset contains one record per validated product. sourceType and searchTerm explain how each row was discovered, while scrapedAt marks validation time in UTC. Provenance stays inside the product row, so an agent can connect each item back to the search term or direct URL used for discovery.

Scope, pagination, and cost guidance: direct product URLs map to individual product pages, while search and category pages may use multiple listing scrolls. maxProducts serves as the global output and billing cap, and maxScrollsPerListing controls how many times listing pages load more cards. The default Residential proxy setup matches the browser-driven storefront access pattern.

Apify API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/zara-product-scraper').call({
searchTerms: ['linen shirt'],
country: 'US',
maxProducts: 5,
includeVariants: true,
});
const datasetId = run.defaultDatasetId;
const { items } = await client.dataset(datasetId).listItems({ clean: true });
console.log(items);

Best results and outcome guidance

Use direct product URLs when you already have a known Zara item and want the clearest product-level result. Use searchTerms when discovery starts from a concept such as black dress, linen shirt, or kids trainers. Use startUrls for product pages, search pages, or category pages that already define the scope. Keep maxProducts aligned with the number of product rows you want, and use includeVariants when color and size options matter for your downstream workflow.

Focused standalone workflow

This Actor is designed as a focused standalone workflow.

Design note

I found that the dataset contract requires productId, name, colors, sizes, images, url, sourceType, and scrapedAt on every saved record, which makes the output consistently product-shaped and easy to consume.

FAQ

When should I use startUrls instead of searchTerms?

Use startUrls when you already have Zara product, category, or search URLs. Use searchTerms when you want the Actor to build Zara search pages from product terms.

Which storefront does a search term use?

searchTerms uses the storefront selected in country. Product and category URLs keep the storefront already present in the URL.

How does maxProducts affect the run?

maxProducts sets the global output and billing cap. The Actor checks it before scheduling products and again before each paid dataset write.

What does includeVariants add?

It includes publicly visible color and size options from the product page. Availability remains a product-level signal.

How should category pages be used?

Category pages work well when a merchandiser wants a bounded slice of a public Zara catalog and expects listing-style discovery with scroll-based loading.

Responsible use

Use this Actor for public Zara product data in line with applicable terms, law, and organizational policy. The outputs are observations from the public storefront and fit workflows for analysis, catalog monitoring, and agent automation that respect the source site's public access patterns.