This Kleinanzeigen scraper tutorial shows how to scrape Kleinanzeigen product details from selected listing URLs into CSV with the Kleinanzeigen Scraper Product Details template for UScraper. You will import the workflow, replace the sample URLs, set the export path, run a small batch, and validate the rows before scaling.
Before you start
Prerequisites for scraping Kleinanzeigen product details
You need UScraper installed as a local desktop app, a short list of Kleinanzeigen product detail URLs, and a folder where the CSV should be saved. Start with two or three URLs. Kleinanzeigen pages can expire, redirect, hide modules, or render different seller panels, so the first run should be small enough to check manually.
Use the Kleinanzeigen Scraper Product Details page as the download path for this tutorial. The blog explains the runbook; the template page carries the maintained JSON workflow, import file, and current export definition.
Before automation, review the current Kleinanzeigen terms of use, robots directives, privacy requirements, and your own legal basis for collecting and reusing the data. This guide covers public product and listing pages only, not login-only data, account pages, messages, payments, CAPTCHA bypassing, or attempts to evade technical controls.
Treat "I can open the page" and "I am allowed to reuse the data" as separate checks. Stop when the site serves a challenge, permission wall, or unexpected redirect.
Workflow anatomy
How the Kleinanzeigen product details scraper works
The JSON export is the authoritative sample of the workflow definition. In plain English, the template sets a large browser window, opens every URL in navigate.urls[], waits for the page, checks whether a product-title selector exists, and then chooses one of two extraction paths.
| Path | Trigger | What gets exported |
|---|---|---|
| Detail page | A selector such as #viewad-title, [data-testid="ad-title"], or h1[itemprop="name"] exists | Product URL, title, price, shipping method, location, posting date, seller fields, user type, account age, reputation fields, and product type. |
| Listing-card fallback | The supplied URL redirects to a results page with .aditem cards | Similar listing-card fields, plus pagination through the next results page until no next link remains. Detail-only reputation fields may stay blank. |
That fallback matters for second hand product online shopping research because old classified URLs often stop resolving to a full detail page. Instead of writing a useless empty row, the workflow extracts equivalent listing-card data when it can see result cards.
Output
What the Kleinanzeigen CSV export contains
The bundle does not include a finished CSV sample, so use the export shape summary and the JSON workflow together. The JSON defines the actual columns, selectors, save path, and append behavior.
kleinanzeigen-scraper-product-details.csvColumn
Produkt_url
Canonical product URL or the listing-card URL built from the visible link.
Column
Produkt_Titel
Product title from the detail page or result card.
Column
Preis
Visible price, including VB or Zu verschenken when present.
Column
Versandsmethode
Shipping, pickup, direct-buy, or delivery wording visible on the page.
Column
Standort
Postal code and location text when Kleinanzeigen renders it.
Column
Ankündigungszeit
Posting date or relative time such as Heute or Gestern.
Column
Firma
PRO or commercial signal when visible.
Column
Name_der_Firma
Seller, company, or profile name extracted from the seller panel.
Column
Zufriedenheit
Seller satisfaction text when shown on the detail page.
Column
Grad_von_freundlich
Friendliness rating text when visible.
Column
Grad_von_zuverlässig
Reliability rating text when visible.
Column
Typ_des_Nutzers
Private, commercial, or PRO user type.
Column
Aktiv_seit
Account age text from the seller profile.
Column
Art_des_Produkts
Product category or type from page labels and breadcrumbs.
Runbook
How to scrape Kleinanzeigen product details to CSV
Import the template
Open Kleinanzeigen Scraper Product Details, download the JSON, and import it into UScraper.
Replace the sample URLs
In Navigate, replace the three wine-glass sample URLs with the Kleinanzeigen detail URLs you are allowed to process. Keep the list short for the first run.
Confirm the export folder
In each Structured Export block, set the save location for kleinanzeigen-scraper-product-details.csv. Keep headers enabled and append mode on for one batch.
Run a small validation batch
Run two or three URLs, then open the CSV beside the browser. Compare title, price, location, shipping, seller type, and product type by eye.
Review fallback rows
If a detail URL redirects to a results page, check whether the row came from .aditem listing-card extraction. Treat missing reputation fields as expected in that branch.
Scale only after QA
Add more URLs after the first rows look correct. Save separate dated files for separate research runs so append mode does not mix old and new data.
If you change selectors, edit one field at a time and rerun the same URL so you know which change fixed or broke the export.
Validation
Common Kleinanzeigen scraper issues and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| No detail fields appear | The page expired, redirected, or never rendered a detail title | Open the URL manually, then rely on fallback rows or replace the URL. |
| Price is blank | The price module is hidden, delayed, or represented as free or negotiable text | Check the visible page and keep price optional when reviewing CSV rows. |
| Seller reputation is blank | The row came from fallback listing cards or Kleinanzeigen did not render reputation text | Validate user type and seller name instead; do not force fake values. |
| Duplicate rows appear | Append mode wrote a rerun into the same CSV | Clear the file before reruns or dedupe by Produkt_url and Produkt_Titel. |
| Product type looks too broad | Breadcrumb or category markup changed | Compare Art_des_Produkts against the visible category and adjust only after a sample set. |
API vs scraper
Kleinanzeigen API vs scraper: which path fits?
A local scraper is useful when an analyst needs a supervised CSV from known product URLs. You can see the browser, validate each field, and change selectors without writing a custom crawler. That makes UScraper practical for catalog checks, reseller research, marketplace monitoring, and one-off second hand product online shopping analysis.
An API or managed data provider is usually better when you need scheduled cloud jobs, contractual access, normalized JSON, service-level guarantees, or direct production integration. Open-source wrappers can help engineering teams prototype, but they still need maintenance when the source site changes.
| Approach | Best fit | Trade-off |
|---|---|---|
| UScraper template | Selected URLs, CSV exports, manual QA, local workflow control | You maintain selectors and stop when access rules or layout changes require review. |
| API provider | Stable production feeds, scheduled jobs, normalized JSON | Pricing, coverage, permission model, and custody depend on the provider. |
| Hosted scraper actor | Cloud execution and larger batch automation | Data leaves your machine and billing usually scales with usage. |
| Custom code | Engineering-owned pipelines and custom storage | Requires scraper maintenance, monitoring, retries, and policy review. |
For many research teams, the best Kleinanzeigen scraper is the one that produces a file they can audit. For production redistribution or heavy recurring collection, evaluate an approved API route first.
FAQ
Kleinanzeigen product scraper FAQ
Kleinanzeigen pages may be visible in a browser, but automated collection can still be limited by terms of use, robots directives, platform policies, privacy rules, intellectual property rights, and local law. Review the current source rules, avoid bypassing technical restrictions, and get legal review before commercial reuse.
Next step
Download the template and run a validation pass
Open the Kleinanzeigen Scraper Product Details template, import the JSON, and run a two-URL validation batch before using it for a larger research file. You can also browse the UScraper template library or return to the blog for more tutorials and comparison guides.

