Zalando Scraper at a glance
Zalando Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes sku, name, brand, price and was price, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Ecommerce, Automation, Developer Tools
- Pricing
- $1.80 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 22 options
Scrape Zalando products: name, brand, current and original price, discount, sizes, images, deal flags and rating, plus full description, colour, per-size availability and reviews on detail. Search by keyword with sort and filters, or paste any category, search or product URL.
What Zalando Scraper can do
- Full page coverage. Every product on a category or search page is collected, not just the first screen.
- Rich price data on every record. Current price, was price, savings amount and percent, discount percent, an on-special flag and the listing's own deal badge.
- Keyword search with filters. Search terms, sort order (relevance, price, newest) and a price range, applied consistently whether you search by keyword or paste a URL.
- Browse the sale section. Pick the women's or men's sale collection and it's walked with the same listing machinery as a keyword search, currently on the co.uk and ie stores.
- Optional detail enrichment. Full description, colour, per-size price and availability, every image, rating summary and individual reviews.
- 17 country stores. One input switches the store, language, currency and catalogue.
Choose what to collect
These inputs let you configure Zalando Scraper - Products, Prices, Sizes, Images, Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Choose Search to build queries from keywords and filters, or URL to scrape pasted category, search-result or product URLs directly. |
searchTermsarray | One or more keywords to search Zalando for, e.g. "summer dress", "nike air max". |
domainstring | Which Zalando country store to scrape. Affects language, currency and catalogue. |
specialsCategorystring | Browse Zalando's sale section in addition to your keywords. Verified working only on the co.uk and ie stores; every other store's sale page 404s and is skipped with a log warning (no charge, no partial run). The sale page is walked with the same listing, pagination and cap as a keyword search, so it adds no extra cost per product. Off by default. |
sortBystring | Result ordering. Price ordering is enforced over the collected candidate set. Applies in both Search and URL mode, but only when you actually pick an ordering: choosing price_asc, price_desc or newest writes that order into a pasted category or search-result URL, replacing any order the URL already carried. Left at the default 'relevance' this input writes nothing, so a pasted URL keeps whatever ordering it came with. |
minPriceinteger | Only keep products with a current price at or above this value (store currency). |
maxPriceinteger | Only keep products with a current price at or below this value (store currency). |
Show 15 more inputs
| Input | What it controls |
|---|---|
onSaleOnlyboolean | Keep only products that are currently discounted (current price below original). |
urlsarray | Paste Zalando category URLs, search-result URLs (?q=...), sale listing URLs or product URLs. Multi-URL supported. Pagination continues from the page number in the URL (?p=N). Leave empty to run the example list (one URL per supported shape). Filter fields other than price range, on-sale and sort are ignored in this mode. |
fetchDetailsboolean | Adds the full description, colour, per-size price and availability, every image, rating summary and individual reviews from each product page. Without it, runs already return name, brand, current and original price, discount, savings, sizes, images, deal flags and rating summary from the listing. |
maxReviewsinteger | Maximum number of individual reviews captured per product when Fetch full product details is on. Capped at 100 per product; 0 or empty uses 20. |
maxPagesinteger | Safety bound on result pages walked per keyword or URL. Leave empty or 0 for unlimited. This does NOT cap the number of products; the run still stops at Max items. |
maxListingsinteger | Maximum number of products to return across the whole run. The single finite cap. Set 0 for unlimited. |
resumeFromRunIdstring | Paste the ID of a previous run of this actor to continue after an interruption without returning or charging for products that run already collected. For recurring monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns every matching product as NEW. Later runs return only NEW, UPDATED and REAPPEARED products, which is how a price cut or a stock change is spotted; each row says what changed in changedFields. Fields compared: every returned field except scrapedAt, reviews, productsFound (the listing total), sourceUrl and search_query (listing context) (a new review still shows through the rating fields). State is kept separately for each search, filter and detail setup; use State key to name or share a campaign. Max products still counts unchanged products, so raise it (or set 0) to cover the whole search. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently configured runs. Leave empty to derive a key automatically from the search, filters and detail settings. |
emitUnchangedboolean | Off by default. Turn on to also return products that have not changed since the last run, marked UNCHANGED. This returns, and bills, rows you already have. |
emitExpiredboolean | Off by default. Turn on to also return products seen in an earlier run that are no longer listed, marked EXPIRED. Only produced when a run scanned every page of the tracked search from page 1 (never when Max products, Max pages, a price sort window or a failed page cut it short, or when Resume was used). This returns, and bills, extra rows. |
ignoreFieldsForChangesarray | Output field names (for example promoLabel or sizes) that should NOT make a product count as UPDATED. scrapedAt, reviews, productsFound, sourceUrl and search_query are always ignored. Ignored fields are still returned in the output. |
mcpConnectorsarray | Optional. Pick connected apps (Notion, Airtable, Linear, Apify) to also push each scraped product to, in addition to the dataset. |
notionParentPageUrlstring | Optional. When a Notion connector is selected, create one page per product under this parent page. |
maxNotifyListingsinteger | Optional cap on how many products are pushed to the selected MCP connectors. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
skuSKUnameNamebrandBrandpricePricewasPriceWas pricesavingsAmountSavingssavingsPercentSavings %isOnSpecialOn specialoriginalPriceOriginal pricediscountPercentageDiscount %currencyCurrencyonSaleOn saleShow 35 more fields
promoLabelPromocategoryCategorytargetGroupTarget groupsizesSizesratingRatingimageImage (image)availableAvailableurlURL (link)scrapedAtScraped at (datetime)brandNameBrand namecolorNameColor namediscountAmountDiscount amountinStockIn stockavailabilityStatusAvailabilityimageUrlImage URL (image)imageUrlsImage URLsvideoUrlVideo URLsilhouetteSilhouettegroupGroupdescriptionDescriptioncolorColorvariantsVariantsimagesImagesreviewCountReview countshippingShippingreturnPolicyReturn policyreviews.authorAuthorreviews.ratingRatingreviews.titleTitlereviews.bodyReviewreviews.dateDatechangeTypeChangechangedFieldsChanged fieldsfirstSeenAtFirst seenlastSeenAtLast seenExample output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"sku": "AB123C4D5-E11",
"name": "Sample Jersey Dress",
"brand": "Sample Brand",
"title": "Sample Brand Sample Jersey Dress",
"url": "https://www.zalando.co.uk/sample-dress-ab123c4d5-e11.html",
"domain": "co.uk",
"targetGroup": "WOMEN",
"category": "DRESS",
"price": 14,
"originalPrice": 15.99,
"wasPrice": 15.99,
"savingsAmount": 1.99,
"savingsPercent": 12,
"discountPercentage": 12,
"isOnSpecial": true,
"onSale": true,
"currency": "GBP",
"dealFlag": "-12%",
"sizes": [
"XS",
"S",
"M",
"L",
"XL"
],
"images": [
"https://img01.ztat.net/article/00000000-500x700.jpg"
],
"rating": 4.6,
"available": true,
"description": "Full product description appears here when fetchDetails is on.",
"color": "navy/blue",
"variants": [
{
"size": "M",
"sku": "SAMPLE000-M000",
"currency": "EUR",
"price": "14.00",
"availability": "https://schema.org/InStock"
}
],
"reviews": [
{
"author": "Jane Doe",
"rating": 5,
"body": "Sample review text."
}
],
"reviewCount": 1,
"scrapedAt": "2026-01-01T00:00:00.000Z"
}Ways to use this data
- Price monitoring teams: track current price, was price and discount percent across products to catch markdowns.
- Competitor and market research: compare brand assortment, pricing and sizes across Zalando's country stores.
- Deal and sale trackers: browse the sale section or filter search results to on-sale products only.
- Catalogue and marketplace builders: pull structured product data, images, sizes and descriptions, to power a storefront or feed.
- Review and rating analysis: collect individual reviews and rating summaries when detail enrichment is on.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Zalando Scraper return?
The documented output for Zalando Scraper includes sku, name, brand, price, was price, savings, savings % and on special. Availability of each field depends on the source page and the selected mode.
How much does Zalando Scraper cost?
It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Why did Browse sale return nothing for my store?
The sale section is verified working only on the co.uk and ie stores. On every other store the sale page is not reachable through its localized path, so the run skips it with a log warning instead of charging for an empty result. Use keyword search or category URLs on those stores instead.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push scraped products into Notion, Airtable or Linear.
