Kleinanzeigen.de Scraper — German Classifieds Search avatar

Kleinanzeigen.de Scraper — German Classifieds Search

Pricing

from $2.00 / 1,000 result items

Go to Apify Store
Kleinanzeigen.de Scraper — German Classifieds Search

Kleinanzeigen.de Scraper — German Classifieds Search

Kleinanzeigen.de (ex eBay Kleinanzeigen) scraper for resellers, dealers and AI agents: search by keyword, 159 categories, 48 German cities with radius, price, private/commercial, offers vs wanted ads, shipping.

Pricing

from $2.00 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Search results from kleinanzeigen.de (formerly eBay Kleinanzeigen), Germany's largest classifieds site. Filter by keyword, any of 159 categories, 48 big cities with radius, price range, private or commercial sellers, offers or wanted ads, shipping, and category attributes. Each ad comes with price type (fixed / VB / free), old price, postcode, posting time, shipping and "Direkt kaufen" flags, and the shop name for commercial sellers. detail: true adds the full description, category attributes, coordinates, seller name, seller type, "active since" and all photos.

No proxies, no browser, no API key.

Use cases

  • Reseller sourcing: "iphone 15" in handy-telekom, private sellers, below your buy price, sinceHours: 2 on an hourly schedule, so you see deals first.
  • Price research for pricing a product: pull a few hundred ads for a model and take the median price of priceType: "fixed" ads.
  • Buyer-intent lead generation: adType: "wanted" lists people looking for a product or service in your city (e.g. "Nachhilfe", "Wohnung", "Transporter").
  • Dealer & competitor monitoring: sellerType: "commercial" shows which shops sell what, at what price (shopName, shopUrl).
  • Local market scans: category: "wohnung-mieten" + location: "Leipzig" + radiusKm: 10 gives private rental offers for rental-market analysis.
  • Brand protection / counterfeit checks: brand keyword + shippingOnly, with detail pages for seller names and active-since dates.

Input

At least a query or a category is required. All other fields are optional.

FieldTypeDefaultAllowed values / notes
querystring– (prefill fahrrad)Keywords. Can be empty when category is set.
categorystringk0Category id (216), code (c216), slug (autos) or German name. k0 / empty = all. See Reference.
locationstringCity from Reference → Cities (umlauts optional). Empty = all Germany.
locationSlug + locationIdstringAny other place, taken from a kleinanzeigen URL (/s-bad-toelz/…/k0l7536bad-toelz, l7536). v0.1 inputs.
radiusKminteger5, 10, 20, 30, 50, 100, 150, 200 (needs a location)
priceFrom / priceTointeger
sellerTypestringallall, private, commercial
adTypestringofferoffer (Angebote), wanted (Gesuche), all
shippingOnlybooleanfalseOnly "Versand möglich"
attributesobject{}Category attributes from a URL after +, e.g. {"fahrraeder.type_s": "ebike"}, {"autos.marke_s": "bmw"}, {"global.zustand": "like_new"}
sortstringnewestnewest, price_asc, distance
sinceHoursintegerOnly ads posted in the last N hours
includeTopAdsbooleanfalseKeep paid top ads (no date, may ignore filters)
maxItemsinteger501–1250 (25 per page, the site shows at most 50 pages)
maxPagesinteger101–50
detailbooleanfalseOpen each ad page (+1 request, about 3 s each)
dedupebooleantrueDrop repeated ids
fieldsstring[][]Output only these fields

Unknown categories, cities, radii or malformed attributes fail immediately with a message listing the valid options, instead of silently searching all of Germany.

Reference

Top-level categories

CategoryidslugPopular sub-categories (id slug)
Auto, Rad & Boot210auto-rad-boot216 autos, 223 autoteile-reifen, 211 boote-bootszubehoer, 217 fahrraeder, 305 motorraeder-roller, 306 motorraeder-roller-teile
Elektronik161multimedia-elektronik172 audio-hifi, 245 foto, 173 handy-telekom, 176 haushaltsgeraete, 279 konsolen, 278 notebooks, 228 pcs, 175 tv-video
Haus & Garten80haus-garten89 garten-pflanzen, 84 heimwerken, 88 wohnzimmer
Immobilien195immobilien203 wohnung-mieten, 196 wohnung-kaufen, 208 haus-kaufen
Familie, Kind & Baby17familie-kind-baby25 kinderwagen-buggys, 23 spielzeug
Mode & Beauty153mode-beauty154 kleidung-damen
Jobs102jobs
Dienstleistungen297dienstleistungen
Haustiere130haustiere
Unterricht & Kurse235unterricht-kurse
Eintrittskarten & Tickets231eintrittskarten-tickets
Freizeit, Hobby & Nachbarschaft185freizeit-nachbarschaft
Musik, Filme & Bücher73musik-film-buecher
Verschenken & Tauschen272zu-verschenken-tauschen
Nachbarschaftshilfe400nachbarschaftshilfe

The full tree of 159 categories (id, slug, name, parent) is built in: see ./src/dictionaries.ts or kleinanzeigen.de/s-kategorien.html. Any category id from a URL (…/c217) works.

Cities (location)

CityidCityidCityid
Berlin3331Hamburg9409München6411
Köln945Frankfurt am Main4292Stuttgart9280
Düsseldorf2068Leipzig4233Dortmund1085
Dresden3820Hannover3155Duisburg2131
Bochum1932Wuppertal1561Bielefeld1056
Bonn1038Mannheim7971Wiesbaden4897
Mönchengladbach1957Gelsenkirchen1000Aachen1921
Braunschweig2448Kiel663Chemnitz3869
Halle (Saale)2409Magdeburg2227Freiburg im Breisgau9354
Krefeld1971Mainz5315Lübeck409
Oberhausen1281Kassel4922Hagen2009
Potsdam7958Saarbrücken382Ludwigshafen am Rhein5381
Oldenburg3108Osnabrück3117Leverkusen1989
Darmstadt4888Würzburg7667Ingolstadt7586
Ulm9339Wolfsburg3071Göttingen3130
Heilbronn9228Pforzheim9260Offenbach am Main4353

Essen, Bremen, Nürnberg, Münster, Karlsruhe, Augsburg, Erfurt, Rostock, Hamm, Heidelberg and Regensburg aren't built in yet (their ids couldn't be collected because of rate limits). Use locationSlug + locationId from a kleinanzeigen URL, e.g. open kleinanzeigen.de/s-essen/k0 and copy the l… number.

Examples

Reseller alert: private iPhone 15 offers in Munich (+20 km), €200–700, last 2 hours

{ "query": "iphone 15", "category": "handy-telekom", "location": "München", "radiusKm": 20, "sellerType": "private", "priceFrom": 200, "priceTo": 700, "sinceHours": 2, "maxItems": 50 }

Price research: e-bikes across Germany, cheapest first

{ "query": "e-bike", "category": "fahrraeder", "attributes": { "fahrraeder.type_s": "ebike" }, "sort": "price_asc", "maxItems": 250, "fields": ["title", "price", "priceType", "postcode", "url"] }

Buyer-intent leads: people looking for a flat in Leipzig

{ "query": "", "category": "wohnung-mieten", "location": "Leipzig", "adType": "wanted", "maxItems": 100 }

Competitor monitoring: commercial bike shops in Berlin with detail pages

{ "query": "gravel", "category": "fahrraeder", "location": "Berlin", "sellerType": "commercial", "detail": true, "maxItems": 30 }

Output

Example item (run 2 above, detail: true, trimmed):

{
"id": "3511155909",
"url": "https://www.kleinanzeigen.de/s-anzeige/iphone-15-pro-256gb-titan-schwarz-top-zustand/3511155909-173-16355",
"title": "iPhone 15 Pro 256GB Titan Schwarz - Top Zustand",
"description": "Ich verkaufe mein gepflegtes iPhone 15 Pro mit 256 GB Speicher…",
"price": 630,
"priceType": "negotiable",
"priceText": "630 € VB",
"oldPrice": null,
"currency": "EUR",
"postcode": "80799",
"locationName": "Maxvorstadt",
"publishedAt": "2026-09-13T08:35:00.000Z",
"dateText": "Heute, 10:35",
"shipping": true,
"directBuy": true,
"isTopAd": false,
"sellerType": "private",
"image": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/98/9828193c-…?rule=$_59.AUTO",
"imagesCount": 16,
"query": "iphone 15",
"fetchedAt": "2026-09-13T08:40:38.626Z",
"category": "Handy & Telefon",
"localityFull": "80799 München - Maxvorstadt",
"latitude": 48.1510227,
"longitude": 11.5757012,
"attributes": { "Art": "Apple", "Farbe": "Schwarz", "Gerät & Zubehör": "Gerät", "Zustand": "Sehr Gut" },
"detailFetched": true
}
FieldDescription
id, url, title, descriptionAd id (stable), ad URL, title, teaser
price, priceType, priceText, oldPrice, currencyfixed, negotiable (VB), free (Zu verschenken), on_request; oldPrice when reduced
postcode, locationName, locationFrom the result card
publishedAt, dateTextISO time (Europe/Berlin converted to UTC); older ads have a date only
shipping, directBuy"Versand möglich", "Direkt kaufen"
isTopAd, sellerType, shopName, shopUrlCommercial PRO shops are detected on the card
image, imagesCount, query, searchTotal, searchUrl, fetchedAt
titleFull, status, descriptionFull, category, localityFull, postedDate, latitude, longitude, attributes, features, sellerName, sellerTypeDetail, sellerActiveSince, sellerBadges, posterId, photos, detailFetched, detailErrordetail: true only

Use it from code / agents

Apify API (curl)

curl -X POST "https://api.apify.com/v2/acts/yadroo~kleinanzeigen-de/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"query":"playstation 5","location":"Hamburg","sellerType":"private","priceTo":350}'

JavaScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/kleinanzeigen-de').call({ query: 'thinkpad', category: 'notebooks', sort: 'price_asc', maxItems: 100 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/kleinanzeigen-de").call(run_input={"query": "sofa", "location": "Köln", "adType": "offer", "maxItems": 50})
items = client.dataset(run["defaultDatasetId"]).list_items().items

AI agents (MCP): connect https://mcp.apify.com?actors=yadroo/kleinanzeigen-de to Claude, Cursor or any MCP client.

Pricing

Pay per event: $0.005 per run start + $0.002 per ad in the dataset.

  • 50 ads (default): $0.105
  • Hourly alert returning about 10 new ads: about $0.025 per run
  • 250-ad price study: $0.505

detail: true doesn't change the price but is slow, about 3 s per ad.

Limits & FAQ

  • Rate limits are strict. kleinanzeigen.de temporarily blocks IP ranges after bursts of requests ("IP-Bereich vorübergehend gesperrt"). The actor waits 2.5–4 s between pages and detail pages, waits 45 s and retries once on a block, then:
    • on a search page with nothing collected yet, the run fails with a clear error (you aren't charged for items);
    • later in pagination, it stops and keeps the ads already collected;
    • on detail pages, the remaining ads stay list-only with detailError.
  • Keep scheduled runs small: frequent runs with maxPages 1–3 and sinceHours work better than one huge run.
  • Pagination cap: the site shows at most 50 pages (1 250 ads) per search. Split big searches by category or city.
  • Dates: cards show "Heute/Gestern, HH:MM" for recent ads and a date for older ones. Date-only ads get midnight Berlin time.
  • Not included: phone numbers and messaging (behind login on kleinanzeigen.de), and view counters (loaded by JavaScript).
  • Roadmap: more built-in cities, attribute dictionaries per category (car make, bike type, clothing size).

Made by Yadroo. Sibling actors: Willhaben.at (Austria) · Otodom.pl (Poland) · Marktplaats.nl · AutoScout24 cars · Rightmove UK · Krisha.kz