Zalando Scraper
Pricing
Pay per event
Zalando Scraper
Extract public Zalando products, prices, size availability, images, and optional reviews across supported European storefronts.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public Zalando product search results, product details, current prices, size availability, and optional customer reviews from supported European storefronts.
Use this Zalando scraper for recurring assortment checks, price monitoring, SKU availability snapshots, fashion catalog research, or structured exports to your analytics stack. It accepts keyword searches, search/category URLs, and individual product URLs.
What does the Zalando Scraper do?
The Actor turns public Zalando pages into one normalized dataset row per product.
It can:
- search supported Zalando storefronts by keyword and audience;
- crawl public search or category URLs;
- extract individual product URLs;
- capture product IDs, SKUs, brands, names, colors, and images;
- capture current price and currency;
- capture size-level price and stock availability;
- optionally open the public review panel and extract review records;
- deduplicate products by their canonical URL;
- stop at your requested product limit.
The Actor uses a locale-matched residential browser session because Zalando's public storefronts reject ordinary server requests. You do not need to configure the proxy yourself.
Who is this Zalando data extractor for?
- Retail analysts comparing public assortment and prices by country.
- Merchandising teams checking whether tracked SKUs and sizes remain available.
- Fashion researchers building structured brand or category samples.
- Marketplace teams enriching internal catalogs with current public product fields.
- Data engineers scheduling a Zalando API-style export to a warehouse.
- Review analysts collecting public ratings and review text for selected products.
Why use this Actor?
Zalando serves different catalogs, currencies, availability, and language variants across European country domains. A plain HTTP request commonly returns an error shell instead of useful product data.
This Actor keeps the browser fingerprint, cookies, storefront locale, proxy country, and residential identity together. It validates the returned page before saving data and fails loudly on a challenge page instead of returning a misleading empty dataset.
It also reads structured product metadata and the browser's review response rather than relying only on fragile visual card selectors.
What Zalando data can you extract?
| Field | Meaning |
|---|---|
productId | Stable Zalando product-group identifier |
sku | Product-group SKU |
url | Canonical product URL |
sourceDomain | Country storefront, such as zalando.at |
sourcePage | Search, category, or product URL that produced the row |
brand | Published brand |
name | Product name and color label |
color | Published color |
description | Structured product description |
images | Public product image URLs |
price | Current price of the first published variant |
currency | ISO currency code |
availability | Current structured stock status |
sizes | Variant SKU, size, availability, price, and currency |
rating | Average rating when exposed by the storefront |
reviewCount | Total public review count when exposed |
reviews | Public review IDs, ratings, titles, text, dates, and verified status |
scrapedAt | UTC extraction timestamp |
Fields that Zalando does not expose for a product are returned as null or an empty array.
Getting started
- Open the Actor input page.
- Enter a
query, or add one or more ZalandostartUrls. - For keyword searches, select a country
domainandaudience. - Set
maxItemsto the maximum number of product rows required. - Enable
includeReviewsonly when review records are needed. - Click Start.
- Open the default dataset to preview or export JSON, CSV, Excel, XML, or RSS.
A small first run with one to five products is recommended before scheduling a larger monitor.
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
query | string | — | Product, brand, or keyword search |
domain | string | zalando.co.uk | Country storefront for keyword searches |
audience | string | men | women, men, or kids section for keyword searches |
startUrls | array | — | Public Zalando search, category, or product URLs |
maxItems | integer | 10 | Product limit from 1 to 100 |
includeReviews | boolean | false | Open and capture the public review panel |
maxReviewsPerProduct | integer | 20 | Review limit per product from 0 to 100 |
Provide at least one query or start URL. All explicit URLs in one run must use the same country storefront so the browser locale and proxy country remain coherent.
Keyword construction is supported for Austria, Germany, Switzerland, the United Kingdom, France, and Italy. For another supported storefront, paste its public search or category URL in startUrls.
Example: search Zalando products
{"query": "cap","domain": "zalando.at","audience": "men","maxItems": 5,"includeReviews": false}
This searches the Austrian men's section and then opens product pages to return current variant prices and availability.
Example: track one product's availability
{"startUrls": [{"url": "https://www.zalando.at/pme-legend-mit-gesticktem-logo-cap-salute-pg352b00a-k11.html"}],"maxItems": 1,"includeReviews": false}
Schedule this input to create timestamped availability snapshots for the same public SKU.
Example: extract product reviews
{"startUrls": [{"url": "https://www.zalando.co.uk/nike-sportswear-club-unisex-cap-off-white-ni154b02i-a11.html"}],"maxItems": 1,"includeReviews": true,"maxReviewsPerProduct": 20}
Review extraction is optional because it requires an additional page interaction. Some products or storefronts do not expose a public review panel; those records return an empty reviews array.
Example output
{"productId": "PG352B00A-K11","sku": "PG352B00A-K11","url": "https://www.zalando.at/pme-legend-mit-gesticktem-logo-cap-salute-pg352b00a-k11.html","sourceDomain": "zalando.at","sourcePage": "https://www.zalando.at/herren/?q=cap","brand": "PME Legend","name": "EMBROIDED LOGO - Cap - salute","color": "salute/blau","price": 39.99,"currency": "EUR","availability": "InStock","sizes": [{"sku": "PG352B00A-K110ONE000","size": "One Size","availability": "InStock","price": 39.99,"currency": "EUR"}],"rating": null,"reviewCount": null,"reviews": [],"scrapedAt": "2026-07-29T04:07:50.766Z"}
The live record also includes the public description and image URL array.
How much does it cost to scrape Zalando products?
This Actor uses pay-per-event pricing:
- a one-time Start event of $0.005 per run;
- one Item processed event for each validated product saved;
- when
includeReviewsis enabled, one additional Review enrichment event per saved product because the storefront requires extra browser and residential-proxy work; - no separate event for individual sizes or review records inside the product row.
Current per-product tiers are:
| Plan tier | Item processed | Review enrichment when enabled |
|---|---|---|
| Free | $0.006348 | $0.15092 |
| Bronze | $0.00552 | $0.13124 |
| Silver | $0.0043056 | $0.10236 |
| Gold | $0.003312 | $0.078742 |
| Platinum | $0.002208 | $0.052494 |
| Diamond | $0.0015456 | $0.036746 |
At the Bronze tier, 10 products without reviews cost about $0.0602 and 100 cost about $0.557, including the start event. One review-enriched product costs about $0.14176 at Bronze: the $0.005 start, $0.00552 item, and $0.13124 review-enrichment events. Apify may also apply normal platform usage according to your plan.
Enable reviews only when the review fields are needed. The enrichment event covers the extra processing for each saved product even when that product has no public review panel or no reviews. The result limit remains 100 products per run to keep browser work bounded.
Scheduling price and availability monitoring
Create an Apify Schedule with a stable product, search, or category input. Each run writes a fresh dataset with scrapedAt, making it straightforward to compare:
- current price against the previous run;
InStockandOutOfStocktransitions;- size additions or removals;
- new products found for the same query;
- review-count changes for selected products.
For alerts, connect the dataset to a webhook, Make, Zapier, n8n, or your own comparison service.
Export and integration options
The default dataset supports:
- JSON for application integrations;
- CSV or Excel for analysts;
- XML and RSS for legacy workflows;
- the Apify API for scheduled pipelines;
- webhooks after successful or failed runs;
- direct integrations with cloud storage and automation tools.
Nested sizes and reviews are easiest to consume in JSON. Flatten those arrays downstream when a tabular warehouse model requires one row per size or review.
Use through the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~zalando-products-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"query":"cap","domain":"zalando.at","audience":"men","maxItems":5}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/zalando-products-scraper').call({query: 'cap',domain: 'zalando.at',audience: 'men',maxItems: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/zalando-products-scraper').call(run_input={'query': 'cap','domain': 'zalando.at','audience': 'men','maxItems': 5,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/zalando-products-scraper"
Claude Desktop
Add this server to Claude Desktop's MCP configuration.
Cursor
Use the same HTTP MCP URL in Cursor's MCP server settings.
VS Code
Use the same HTTP MCP URL with an MCP-capable VS Code extension.
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/zalando-products-scraper"}}}
Example prompts:
- “Search Zalando Austria for five men's caps and summarize current prices.”
- “Extract this Zalando product URL and list every available size.”
- “Collect public reviews for this Zalando UK product and group ratings.”
Is it legal to scrape Zalando?
Scraping public product information can be lawful in many contexts, but rules differ by jurisdiction and use case. You are responsible for having a lawful purpose, respecting Zalando's terms, avoiding excessive load, and complying with copyright, database-right, privacy, and data-protection requirements. Public reviews may contain personal expression, so collect and retain only what your legitimate workflow requires. This guidance is not legal advice.
Limits and responsible usage
- Only public, anonymous Zalando pages are supported.
- Login, checkout, wish lists, carts, and customer accounts are not supported.
- The Actor does not bypass paywalls or collect private customer data.
- Availability is a point-in-time storefront observation, not a stock guarantee.
- Results depend on the selected country storefront and may differ between markets.
- Review panels are not available for every product or locale.
- A run supports one storefront so geography and cookies remain consistent.
- The maximum is 100 products and 100 reviews per product per run.
- Zalando may change its pages or public response shapes.
Use the data in accordance with applicable law, Zalando's terms, and data-protection requirements. Avoid collecting more review content than is necessary for a legitimate purpose.
Troubleshooting
Why did the run fail instead of returning zero products?
The Actor distinguishes a valid no-result search from an anti-bot or error shell. If Zalando rejects all three fresh locale-matched sessions, the run fails so monitoring systems do not interpret a block as an empty catalog.
Why are reviews empty?
Confirm that includeReviews is enabled and the selected storefront displays an All reviews panel for that product. Some products have no reviews, and some country storefronts do not expose the review panel.
Why was my start URL rejected?
Use an HTTPS URL on a supported country-specific Zalando domain. Do not mix domains such as zalando.at and zalando.co.uk in one run.
Why can keyword search be rejected for a domain?
The Actor builds locale-specific audience paths only for markets whose search paths have been validated. For another market, paste a working public search or category URL instead.
FAQ
Is this an official Zalando API?
No. It is an independent Actor that converts public storefront pages and browser responses into an API-style dataset.
Can I monitor prices every day?
Yes. Save the input as an Apify Task, schedule it, and compare product rows by sku and scrapedAt.
Can I request only one product?
Yes. Supply its product URL and set maxItems to 1.
Are unavailable sizes included?
The Actor returns the variants Zalando publishes in structured product data, including each exposed availability value.
Are reviews charged separately?
Optional review processing emits one Review enrichment event per saved product when includeReviews is enabled. Individual reviews are not charged separately.
Related Actors from automation-lab
- Google Shopping Scraper for cross-retailer shopping result research.
- Musinsa Fashion Rankings Scraper for fashion ranking and assortment signals.
Use related Actors only when their source and data model match the comparison you intend to make.