Zalando Fashion Listings Scraper
Pricing
Pay per event
Zalando Fashion Listings Scraper
Scrape fashion product listings from Zalando.de category pages — SKU, name, brand, price, silhouette, gender, sizes, images, product URL. Category-path browsing (e.g. herrenschuhe-sneaker), with pagination, retry, and per-item fault isolation built in.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
🎯 What this scrapes
Zalando.de is DE/EU's largest online fashion retailer, with no public product-listing API. This Actor scrapes any of Zalando's category pages — sneakers, boots, dresses, and every other category the site exposes as its own URL path — pulling the same structured product data the site itself renders per card: SKU, name, brand, price, silhouette (SNEAKER / BOOTS / etc.), gender, available sizes, and product images. Built on curl-cffi with browser TLS impersonation; no browser automation, no login required.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox TLS handshakes so the target sees a browser, not Python. - 🌐 Proxy rotation via Apify Proxy, pinned to Germany by default so a random exit can't silently swap in a different regional catalog.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Per-category, per-page fault isolation — one bad category path or one failed page never crashes the whole run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable SKUs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Price monitoring — track price moves on specific categories or brands over time.
- Assortment tracking — see what's newly listed, out of stock, or discontinued in a category.
- Trend research — pull silhouette and brand mix across a category to spot fast-moving fashion trends.
- Dropshipping sourcing — build a structured product feed with prices, sizes, and images ready to re-list.
- Competitive benchmarking — compare your own catalog's pricing and assortment against Zalando's.
⚙️ How to use it
- Click Try for free at the top of the page.
- Enter one or more category paths — copy the path segment from any Zalando.de category URL (e.g.
herrenschuhe-sneakerfromzalando.de/herrenschuhe-sneaker/). - Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
categoryPaths | array | yes | ["herrenschuhe-sneaker", "damenschuhe-stiefel"] | One or more Zalando.de category path segments. Not a keyword search — Zalando's own /catalog/?q= search endpoint returns a 404. |
maxPagesPerCategory | integer | no | 2 | Pages to fetch per category (?p=1..N). Stops early once a page parses to zero products. |
maxResultsPerCategory | integer | no | 100 | Hard cap on dataset rows emitted per category. |
proxyConfiguration | object | no | {"useApifyProxy": true, "apifyProxyCountry": "DE"} | Apify Proxy spec, pinned to Germany by default. |
Example input
{"categoryPaths": ["herrenschuhe-sneaker", "damenschuhe-stiefel"],"maxPagesPerCategory": 2,"maxResultsPerCategory": 100,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyCountry": "DE"}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
sku | string | Zalando article SKU (style + colour code). |
name | string | Product name as listed. |
brand | ['string', 'null'] | Brand name, e.g. Nike Sportswear. |
silhouette | ['string', 'null'] | Product silhouette / type, e.g. SNEAKER, BOOTS, ANKLE_BOOTS. |
gender | ['string', 'null'] | Target navigation group, e.g. MEN, WOMEN, KIDS. |
price_amount | ['number', 'null'] | Original listed price as a decimal amount. |
price_currency | ['string', 'null'] | ISO-4217 currency code, e.g. EUR. |
condition | ['string', 'null'] | Item condition when the product is not new. |
product_url | string | Absolute URL to the product detail page. |
image_url | ['string', 'null'] | Primary product image URL (large packshot). |
available_sizes | array | Size labels currently listed for this product. |
product_flags | array | Merchandising flags shown on the card, e.g. 'Top bewertet'. |
category_path | string | Which category path this row was scraped from. |
page | integer | Which category page (?p=) this row was scraped from. |
scraped_at | string | ISO timestamp when this row was recorded. |
Example output
{"sku": "NI112P06V-M11","name": "AIR FORCE 1 07 - Trainers - barely grey/city grey/bomber grey/speed yellow","brand": "Nike Sportswear","silhouette": "SNEAKER","gender": "MEN","price_amount": 119.95,"price_currency": "EUR","condition": null,"product_url": "https://www.zalando.de/nike-sportswear-air-force-1-07-sneaker-low-....html","image_url": "https://img01.ztat.net/article/.../....jpg?imwidth=500&filter=packshot","available_sizes": ["38", "39", "40", "41", "42"],"product_flags": ["Top bewertet"],"category_path": "herrenschuhe-sneaker","page": 1,"scraped_at": "2026-09-20T12:00:00+00:00"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.20 | One-off warm-up charge per run |
item-scraped | $0.006 | Per product row written to your dataset |
Example: 1 000 results at the rates above ≈ $6.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
This Actor browses Zalando's category pages, not its keyword search — zalando.de/catalog/?q= returns a 404 on this site, so there is no free-text search input; supply the category path segments you want instead. v1 covers www.zalando.de only (Zalando runs ~20 separate country domains with distinct catalogs). Category pages surface the above-the-fold set of rendered product cards per page; very large categories should be paged with maxPagesPerCategory.
❓ FAQ
How do I find a category path?
Browse to any Zalando.de category (e.g. men's sneakers) and copy the path segment from the URL — zalando.de/herrenschuhe-sneaker/ becomes herrenschuhe-sneaker.
Why is there no keyword/search input?
Zalando's own /catalog/?q= search endpoint returns a 404 — it is not a working entry point on this site. Category-path browsing is the reliable way to reach listings, so that's what this Actor offers.
What currency are prices in?
Whatever Zalando's German storefront lists — almost always EUR, in price_currency. price_amount is a decimal value (already divided from cents).
Why did a category return fewer rows than maxResultsPerCategory?
Either the category itself has fewer products than the cap, or pagination stopped early because a page parsed to zero new products — both are normal, successful outcomes.
Is this a Zalando-sanctioned API?
No. Zalando publishes no public product-listings API. This Actor scrapes the public website politely with browser TLS impersonation and proxy rotation.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.