Kleinanzeigen.de Scraper: Listings, Prices & Ad Details
Pricing
from $0.80 / 1,000 listings
Kleinanzeigen.de Scraper: Listings, Prices & Ad Details
Scrape Kleinanzeigen.de (ex eBay Kleinanzeigen) ads by keyword, category, place or search URL, past the 125-result limit. Price, VB, category, postcode, date, shipping, photos; optional details: full description, attributes, coordinates. Private sellers stay anonymous. Unofficial.
Pricing
from $0.80 / 1,000 listings
Rating
0.0
(0)
Developer
Kyungmin Lee
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Kleinanzeigen.de Scraper do?
Kleinanzeigen.de Scraper collects classified ads from Kleinanzeigen.de (formerly eBay Kleinanzeigen), Germany's largest classifieds site. Search by keyword, category and place (16 states and 30+ big cities), or paste any Kleinanzeigen search URL. You get one flat row per ad: title, price with the VB (negotiable) and Zu verschenken (free) flags, category, postcode and place, posted date, shipping possible, Direkt kaufen, offer or wanted ad, a short description, the main photo, and card details such as mileage and first registration for cars or living space and rooms for flats.
Turn on ad details to also get the full description, all attributes (condition, type, size, mileage, rooms, rent costs, ...), features (Balkon, Keller, ...), all photos, state and city, coordinates, shipping details and the time the ad was last bumped.
It reads the same public pages a logged-out visitor sees. No account, cookies or browser are needed.
This is an unofficial tool. It is not affiliated with, endorsed by or connected to Kleinanzeigen GmbH or the Adevinta group.
Why use Kleinanzeigen.de Scraper?
- Built to finish. Every page has a hard timeout and is retried on a fresh IP; the Actor slows down when the site pushes back. A bad page or search is skipped and logged, never the whole run, and the Actor stops cleanly with partial results before the run timeout instead of being killed. A
SUMMARYrecord shows exactly what was read for each search. - More than 125 ads per search. Kleinanzeigen allows robots to read only 5 result pages (125 ads) of a search. The Actor splits a big search into smaller ones by place and category and merges them without duplicates.
- Privacy by design. For private sellers it returns only "private" - never a name, user ID, profile link or phone number. Phone numbers and e-mail addresses inside private ads' texts are masked. For commercial sellers it returns the shop or company name.
- Fair pricing. You only pay for ads saved. Failed pages, duplicates and ads removed by your filters are never charged.
- Use cases: price research for used goods, cars and rentals; reselling and arbitrage alerts; market and demand analysis per region; lead lists of commercial shops; monitoring new ads with a daily schedule.
How to scrape Kleinanzeigen
- Click Try for free.
- Enter one or more search terms (e.g.
fahrrad,iphone 15), and optionally a category and places. Or paste Kleinanzeigen URLs of search pages or single ads. - Set Maximum ads per search and switch on Include ad details if you need them.
- Optionally filter by price or by offers / wanted ads.
- Click Start and download the results as JSON, CSV or Excel, or read them through the Apify API.
Input
{"searchQueries": ["e-bike", "lastenrad"],"category": "217","locations": ["berlin", "hamburg"],"maxResults": 300,"splitSearches": true,"includeDetails": false,"minPrice": 200,"maxPrice": 3000,"offerType": "offers","searchUrls": ["https://www.kleinanzeigen.de/s-wohnung-mieten/leipzig/c203l4233"]}
- Every search term is searched in every selected place (here 2 terms x 2 places = 4 searches); without places, all of Germany.
searchUrls: search pages keep their place, category, keyword and allowed attribute filters. Single ads (/s-anzeige/...) always return the full details.maxResultscounts per search; 0 means as many as can be reached.proxyConfiguration: by default requests start on the run's own connection and move to Apify datacenter proxy IPs (a new IP per retry) as soon as Kleinanzeigen blocks or rate-limits it. Residential groups or your own proxy URLs are used for every request.
Output
One dataset item per ad (details on):
{"adId": "3517861201","url": "https://www.kleinanzeigen.de/s-anzeige/e-mtb-nox-hybrid-all-mtn-5-9-pro-l/3517861201-217-6954","title": "E-MTB NOX HYBRID ALL-MTN 5.9 PRO L","price": 2900,"priceText": "2.900 €","currency": "EUR","negotiable": false,"free": false,"priceType": "FIXED","category": "Fahrräder & Zubehör","categoryPath": ["Auto, Rad & Boot", "Fahrräder & Zubehör"],"postcode": "96242","locality": "Sonnefeld","city": "Sonnefeld","state": "Bayern","latitude": 50.23,"longitude": 11.15,"postedAt": "2026-10-06","adType": "offer","shippingPossible": false,"shipping": "Nur Abholung","attributes": {"Art": "Herren", "Typ": "Mountainbikes", "Zustand": "Sehr Gut"},"description": "Zum Verkauf steht dieses E-MTB Fully der Marke NOX ...","imageCount": 6,"images": ["https://img.kleinanzeigen.de/api/v1/prod-ads/images/66/669943e3-..."],"sellerType": "private","companyName": null,"searchInput": "e-bike / Fahrräder & Zubehör / Berlin","detailScraped": true,"scrapedAt": "2026-10-07T12:00:00+00:00"}
The run's key-value store also has a SUMMARY record: Kleinanzeigen's total per search, how many ads were saved, how the search was split, filtered or skipped items, failed pages and request timings.
Data fields
| Field | Description |
|---|---|
adId, url | Kleinanzeigen ad ID and page |
title | Ad title |
price, priceText, currency | Price in euros as a number, and as shown (e.g. "1.100 € VB") |
negotiable, free, priceType | VB (Verhandlungsbasis), Zu verschenken, and with details FIXED / NEGOTIABLE / GIVE_AWAY |
category, categoryId, categoryPath | Category name and ID (path with details) |
postcode, locality, locationId | Postcode and place as listed |
city, state, latitude, longitude | With details. Private sellers' coordinates are rounded to about 1 km |
postedAt, postedText, bumpedAt | Posting date ("Heute, 18:28" becomes a Berlin-time timestamp); last bump with details |
adType, isWanted | offer or wanted (Gesuch) |
isTopAd | Paid "TOP" placement |
shippingPossible, shipping, directBuy, sellerGuarantee, securePayment | Shipping and buying options |
descriptionSnippet, description | Short text from the result list; full text with details |
cardAttributes | Key facts shown in the result list, e.g. "122.000 km", "EZ 07/2018", "63 m²", "2 Zi." |
attributes, features | With details: all attributes and feature tags |
imageUrl, imageCount, images | Main photo, number of photos, all photo URLs with details |
sellerType | private or commercial (from the result list when shown, always with details) |
companyName, isProShop | Commercial sellers only: shop or company name |
searchInput, searchPath | Which search and which split (place / category) found the ad |
detailScraped, detailError, pageTemplate | Ad page status |
Pricing: how much does it cost to scrape Kleinanzeigen?
Pay per event, only for ads saved:
| Event | Price | When |
|---|---|---|
listing | $0.0008 ($0.80 per 1,000) | One ad from the search results |
listing-detail | $0.0015 ($1.50 per 1,000) | One ad with its ad page, charged instead of listing |
A 50-ad test costs about $0.04. 10,000 ads cost about $8 (about $15 with details).
Failed pages and searches are never charged. If an ad page cannot be loaded, you still get the search data for that ad and pay only the listing price. Set a maximum charge for the run and the Actor stops exactly there.
Tips and limits
- How the 125-ad limit is handled. Kleinanzeigen's robots.txt allows only result pages 1-5 of any search. When you ask for more, the Actor first saves those 125 newest ads exactly as the site lists them, then reads the same search in every sub-place the site's own location filter lists (states, then cities and districts), biggest first, and where a place still has more than 125 ads, in every category. Each ad is saved once. Results therefore come newest first per place, not in one global order.
- robots.txt also disallows Kleinanzeigen's price filter, sorting, radius and seller-type URLs. The Actor never requests them: price and offer/wanted filters are applied to the ads it reads (filtered ads are not charged); a pasted URL with sorting, a radius or a seller-type filter is read without it, and the log says so.
- Very common terms (hundreds of thousands of ads) cannot be read completely; the
SUMMARYrecord says how many ads were out of reach. - Speed (our cloud tests, 3 parallel sessions): without details about 2,000 ads per minute; with details about 1 ad per second (300 ads in 6 minutes). Raise
maxConcurrencyto 5 for faster detail runs. - Run timeout. About 30 seconds before the run's timeout the Actor stops starting new pages, saves what it has and finishes as Succeeded. Ads still waiting for their detail page are saved with their search data (
detailErrorsays why) and charged aslisting. For big detail runs, raise the timeout (default 1 hour). - Contact details are not collected: phone numbers and messaging need a Kleinanzeigen login, and this Actor never logs in.
- To monitor new ads, save your input as a task, set a small
maxResultsand schedule it daily.
FAQ
Do I need a Kleinanzeigen account?
No. The Actor reads public pages only and never logs in or uses cookies.
Does it collect personal data?
As little as possible. For private sellers it saves only that the seller is private: no name, initials, user ID, profile link, street or phone number; phone numbers and e-mail addresses inside private ads' titles and descriptions are replaced with "[phone removed]" / "[email removed]", and coordinates are rounded to about 1 km. For commercial sellers it saves the shop or company name. You are responsible for handling the data in line with the GDPR.
Why did I get fewer ads than Kleinanzeigen's total?
Check maxResults, your price / offer filters and the SUMMARY record. Ads already saved by another search in the same run are skipped, and robots.txt limits how deep a single search can go.
Is it legal to scrape Kleinanzeigen?
The Actor collects public ads at a polite rate, only from pages and URL forms Kleinanzeigen's robots.txt allows. You are responsible for how you use the data and for following the laws and terms that apply to you.
Is this an official Kleinanzeigen product?
No. This is an unofficial, independent tool and is not affiliated with Kleinanzeigen. Kleinanzeigen is a trademark of its owner.
Found a problem or need another field? Open an issue on the Issues tab.