Zalando Products Scraper

A catalogue page,
as a product table.

Paste a Zalando product page or a whole category and get the listings back as rows: name, price, currency, availability, brand, sku, mpn, gtin, rating, reviews, image, link and description. The fields are read from the structured data Zalando publishes on its own pages, so the export is exactly as complete as that is.

one-time 500 free rows$0.002 per row after15 columnsCSV · XLSX · JSON
How it works

A list of URLs in,
a catalogue out.

The input is the page, not the article code - you name the product pages or categories you want, and the job reads what each listing publishes.

  1. STEP 1Sign in to the platform.
  2. STEP 2Open the Zalando Products Scraper.
  3. STEP 3Paste Zalando product URLs or category and search URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. STEP 4Set a limit per query, or set it to zero to take everything.
  5. STEP 5Choose your output format.
  6. STEP 6Click Get Data.

One row per product, each tagged with the query it came from - so a run across a dozen categories still reconciles back to your input list.

Why teams use it

A category URL is
a whole catalogue.

Paginated category URLs come back as you sent them

Point it at a category - including a page-numbered one - and the query column returns that URL character for character, pagination parameter and all. A run assembled from several pages of the same section still reconciles line by line against the list you submitted.

This one needs a residential proxy

Zalando is one of four retailers the platform names as blocking datacenter IPs or rendering products client-side - Lowes, Grainger and Fastenal are the others. Requests always go out through the proxy pool rather than your own address, but plan for the residential option on this retailer rather than discovering it mid-run.

Brand, article code and colour stay separable

The brand arrives in its own column rather than glued to the product name, and Zalando's article code arrives in sku. The colourway travels inside the name - AIR JORDAN 1 - Trainers - white/black - so a variant is identifiable even though the export has no colour field of its own.

What you get back

Fifteen columns,
one row per product.

Each row is one listing as Zalando publishes it: what it is called, what it costs, who makes it, how it is identified and what the page says about it.

The fields come from the structured data on the page rather than from scraping the layout, which is what makes the shape stable across a catalogue - and also what bounds it. A field the retailer does not publish does not appear, no matter how the run is configured. The column list below is the header row of real run exports and the platform's own published list, which agree exactly; read the note under it before you write a parser, because the price is not the type you would expect.

Data dictionary

Fifteen columns,
in export order.

The export's header row, in order, confirmed against the platform's published column list. Where a value shape has actually been observed it is described; where it has not, the entry says what the field is for and stops.

query
The Zalando URL you submitted, repeated on every row that came from it - returned character for character, including any pagination parameter. Written by the scraper rather than taken from the page, so it is there on every row.
service
Which retailer this row came from - also written by the scraper. It matters because this tool serves several retailers behind one form, so a file assembled from more than one job stays separable.
name
The product name as the listing gives it. On Zalando that runs brand and model, then the category, then the colourway - which is where a variant is identified, since the export has no colour column of its own.
price
The asking price, as text rather than as a number - a decimal point and no currency symbol. Cast it before you compare or total. The unit is in currency, not in this column.
currency
The currency the price is quoted in. Read it per row rather than assuming it from the storefront: Zalando runs a different shop per country and the column is what tells you which one a row came from.
availability
The stock status the listing publishes.
brand
The brand the product is filed under, on its own rather than glued to the front of the name.
sku
Zalando's own article code for the listing - the identifier to quote back to them, and the one that stays stable when a product name is reworded.
mpn
The manufacturer's part number. The field to match on when the same item is sold by more than one retailer under different article codes.
gtin
The global trade item number - the barcode identifier. The most reliable join key across catalogues when it is published.
rating
The average rating shown for the product.
reviews
How many reviews that average is built on.
image
A link to the product image.
url
A link to the product page. The column to keep if you ever need to check a value by hand.
description
The product description as published.

Two things to know before you write code against this. First, price comes back as text with a decimal point and no symbol, so a naive sum concatenates instead of adding, and the unit lives in currency - worth reading per row, because Zalando runs a separate storefront per country. Second, and this governs everything else: the fields are read from the structured data Zalando publishes on its own pages, so the export is exactly as complete as that is. A listing that does not publish a gtin has no gtin to give, and no run setting changes that. query and service are the exceptions - the scraper writes those itself, so they are on every row regardless. If gtin or mpn is load-bearing for your work, run one category on the free tier and look before you build.

Run controls

Set on the job,
not in the spreadsheet.

A list of URLs and a limit. The input accepts a single product or a whole category, and the limit is what decides the size and the cost of a run.

Product URL Category or search URL Paginated URLs kept intact One per line Limit per query 0 for everything CSV upload XLSX upload TXT upload Parquet upload Residential proxy on this retailer
Common workflows

Three jobs this
runs more than any other.

A few examples of how teams use marketplace catalogue data to answer a question they actually have.

Pricing

Track a category across countries

Run the same section against more than one Zalando storefront and read the price column against the currency column. Because the currency travels per row, a cross-market comparison is a group-by rather than a reconciliation project.

Pricing
Brand

See how your line is presented

Pull the categories your brand sells into and read what the listings actually say - the wording, the colourways carried, which of your products are surfaced at all. It is the shelf as customers meet it rather than as the range plan describes it.

Brand · Wholesale
Competitive

Watch a category rather than a page

Feed category URLs instead of individual products and re-run on a schedule. What moves - a price, a new brand appearing in a section, a product dropping out - is visible as a diff between two exports rather than as something somebody had to notice.

Strategy
Pricing

Pay only for the rows
you actually pull.

No subscription, no minimum, no recurring bill. Your first 500 rows are on us - after that, pay-as-you-go at the same flat rate as every other scraper here.

Free tier

500 free rows - $0

Every new account, one-time. No credit card required. Per-query limits, file upload and every export format included.

$0 forever
Pay-as-you-go

$0.002 per row, after the free tier

Roughly $2 per 1,000 products. The pre-flight estimator shows the row count and credit cost before a run starts - no surprise bills, no compute units to translate.

Most popular
Volume

Custom · high volume

Volume pricing, dedicated workers and an SLA for continuous monitoring or very large catalogue pulls. Tell us your numbers and we will quote.

Talk to us
10% off your first paid run.Use code LIVESCRAPER10 at checkout.
Sign up
Pairs well with

The same rail,
in a different shop.

The legal bit

Is it legal to scrape
Zalando listings?

Short answer: yes for the public catalogue - and this export contains no account, no customer and no order data.

The fields collected here are the ones Zalando publishes in the structured data on its own public product pages, for search engines and shopping tools to read. Name, price, brand and identifiers are shown to anyone who opens the page, signed in or not. Collecting publicly published catalogue data is long-established practice, and nothing here touches a login, a basket or a checkout.

There is no personal data in this output at all - it is a product table. No customer names, no order history, no wish lists, because none of that is public. Whatever your account sees when signed in is not what this reads, and that is a deliberate boundary rather than a limitation to work around.

Zalando's own terms restrict automated access, so this is a terms question as well as a legal one - if you have a commercial relationship with them, check it. We run no third-party trackers on the data layer, and your exports auto-delete after 30 days.

livescraper.app · principles
Public catalogue data only
No logins, no accounts touched
No order or basket data in the export
No personal data collected
Exports auto-delete (30 days)
Check Zalando's own terms before scaling.
Common questions

Things people
ask before signing up.

The questions we hear most. Anything else? Talk to us - humans, not bots, write the answers.

How do I scrape Zalando product data?+
Using the Zalando Products Scraper:
  1. Sign in to the platform.
  2. Open the Zalando Products Scraper.
  3. Paste Zalando product URLs or category and search URLs, one per line - or upload a CSV, XLSX, TXT or Parquet file.
  4. Set a limit per query, or set it to zero to take everything.
  5. Choose your output format.
  6. Click Get Data.
Do I need a residential proxy for this one?+
Yes - plan for it. Zalando is one of four retailers the platform names as blocking datacenter IPs or rendering products client-side, alongside Lowes, Grainger and Fastenal. Requests always go out through the proxy pool rather than your own address, but this retailer is flagged as needing the residential option rather than the default pool.
Is the price a number I can add up?+
Not as it arrives. The price comes back as text with a decimal point and no currency symbol, so cast it before you compare or total. The unit is not in that column either - it is in the currency column, which is worth reading per row because Zalando runs a separate storefront per country.
Can I give it a category instead of one product?+
Yes, and a page-numbered category URL works too. The query column returns the URL character for character, pagination parameter included, so a run assembled from several pages of the same section still reconciles against the list you submitted.
Do I get sizes or per-size stock?+
No. The export is one row per product with fifteen columns, and none of them is a size or a per-size stock level. The colourway travels inside the product name, which is where a variant is identifiable, but there is no size or variant column of its own.
Why might a column come back empty?+
Because the fields are read from the structured data the retailer publishes on its own pages, so the export is exactly as complete as that is. A listing that does not publish a gtin has no gtin to give. The query and service columns are the exceptions - the scraper writes those itself, so they are on every row regardless.
Is this the same tool as the other retailers?+
Yes. Zalando is one of several retailers behind one shared products scraper, which is why every one of them exports the same fifteen columns in the same order. The service column records which retailer a row came from, so a file assembled from more than one job stays separable.
How much does it cost?+
The first 500 rows are free and one-time, with no credit card. After that it is $0.002 per row - about $2 per 1,000 products - which is the same flat rate as every other scraper on the platform. The estimator shows the cost of a run before it starts.

Your first 500 rows,
on the house.

500 one-time free rows on every new account - no expiry. After that it is $0.002 per row, pay-as-you-go - no card on file until you say so.

Activates instantly · no card required

Scrape Zalando product and category data at scale

Livescraper's Zalando Products Scraper turns catalogue URLs into a product table. You paste Zalando product or category URLs one per line - or upload them as a CSV, XLSX, TXT or Parquet file - cap the rows per query, and download the results as a clean CSV, Excel or JSON file. Requests go out through the shared proxy pool rather than your own address, and this retailer is one the platform flags as needing the residential option.

Each row is one listing: the name, the price and its currency, the availability, the brand, Zalando's own article code, the manufacturer part number, the gtin, the rating and review count, the image, the product link and the description. Those fields are read from the structured data Zalando publishes on its own pages, which is what keeps the shape stable across a whole category - and also what bounds it, since a field the listing does not publish is not there to collect.

Pricing teams run the same section against more than one country storefront and read price against currency, which travels per row and turns a cross-market comparison into a group-by. Brand and wholesale teams pull the categories their line sells into and read the shelf as customers meet it. Strategy teams feed category URLs on a schedule and read what moved between two exports instead of relying on somebody noticing.

One practical note up front: the price arrives as text with a decimal point and no symbol, so cast it before you total it, and take the unit from the currency column rather than from the storefront you pointed at. Start free: your first 500 rows cost nothing and need no credit card, and after that it is $0.002 per row, flat.