Kleinanzeigen.de Scraper: Listings, Prices & Ad Details avatar

Kleinanzeigen.de Scraper: Listings, Prices & Ad Details

Pricing

from $0.80 / 1,000 listings

Go to Apify Store
Kleinanzeigen.de Scraper: Listings, Prices & Ad Details

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

Kyungmin Lee

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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 SUMMARY record 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

  1. Click Try for free.
  2. 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.
  3. Set Maximum ads per search and switch on Include ad details if you need them.
  4. Optionally filter by price or by offers / wanted ads.
  5. 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.
  • maxResults counts 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

FieldDescription
adId, urlKleinanzeigen ad ID and page
titleAd title
price, priceText, currencyPrice in euros as a number, and as shown (e.g. "1.100 € VB")
negotiable, free, priceTypeVB (Verhandlungsbasis), Zu verschenken, and with details FIXED / NEGOTIABLE / GIVE_AWAY
category, categoryId, categoryPathCategory name and ID (path with details)
postcode, locality, locationIdPostcode and place as listed
city, state, latitude, longitudeWith details. Private sellers' coordinates are rounded to about 1 km
postedAt, postedText, bumpedAtPosting date ("Heute, 18:28" becomes a Berlin-time timestamp); last bump with details
adType, isWantedoffer or wanted (Gesuch)
isTopAdPaid "TOP" placement
shippingPossible, shipping, directBuy, sellerGuarantee, securePaymentShipping and buying options
descriptionSnippet, descriptionShort text from the result list; full text with details
cardAttributesKey facts shown in the result list, e.g. "122.000 km", "EZ 07/2018", "63 m²", "2 Zi."
attributes, featuresWith details: all attributes and feature tags
imageUrl, imageCount, imagesMain photo, number of photos, all photo URLs with details
sellerTypeprivate or commercial (from the result list when shown, always with details)
companyName, isProShopCommercial sellers only: shop or company name
searchInput, searchPathWhich search and which split (place / category) found the ad
detailScraped, detailError, pageTemplateAd page status

Pricing: how much does it cost to scrape Kleinanzeigen?

Pay per event, only for ads saved:

EventPriceWhen
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 SUMMARY record 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 maxConcurrency to 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 (detailError says why) and charged as listing. 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 maxResults and 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.

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.