Kleinanzeigen API scraper API
The Kleinanzeigen API returns listings from Germany's largest classifieds marketplace as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns listings with ad id, title, price, location, images, seller type and posted date, plus pagination, and you can pull a listing, similar ads, categories, filters, location suggestions, a user's listings and a seller. It is built for price intelligence, resale tools and market analytics that need German classifieds data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/kleinanzeigen/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "iphone"
}
}{
"ok": true,
"meta": {
"api": "kleinanzeigen",
"endpoint": "search",
"mode": "live",
"latency_ms": 4704.8,
"record_count": 27,
"bytes": 335200,
"cache_hit": false,
"locale": "de-DE",
"url": "https://www.kleinanzeigen.de/s-iphone/k0",
"source": "html_srp",
"page": 1,
"has_more": true,
"next_page": 2
},
"data": {
"listings": [
{
"adid": "[redacted-phone]",
"title": "Wir kaufen iPhone 17 / 17 pro / 17 Pro Max neu und Gebraucht✅✅",
"description_preview": "✨ **Wir kaufen Ihr iPhone 17 / 17 Pro / 17 Pro Max / 17 Air – Neu &...",
"url": "https://www.kleinanzeigen.de/s-anzeige/wir-kaufen-iphone-17-17-pro-17-pro-max-neu-und-gebraucht-/[redacted-phone]",
"location": "90402 Mitte",
"image_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/2e/2e15de74-72a9-4fa9-9cd4-658bc71aa308?rule=$_2.AUTO",
"images": [
"https://img.kleinanzeigen.de/api/v1/prod-ads/images/2e/2e15de74-72a9-4fa9-9cd4-658bc71aa308?rule=$_2.AUTO"
],
"image_count": 1,
"tags": [
"Gesuch"
],
"price_raw": "999 € VB",
"price": 999,
"negotiable": true,
"is_free": false,
"currency": "EUR"
},
{
"adid": "[redacted-phone]",
"title": "ANKAUF DEFEKT/BESCHÄDIGTE IPHONE 14 15 16 PRO MAX - SOFORTZAHLUNG",
"description_preview": "Wir kaufen speziell beschädigte aber auch unbeschädigte iPhone Modelle an und zahlen das Geld per...",
"url": "https://www.kleinanzeigen.de/s-anzeige/ankauf-defekt-beschaedigte-iphone-14-15-16-pro-max-sofortzahlung/[redacted-phone]",
"location": "42555 Velbert",
"image_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/54/545d9c12-272f-4eef-94b4-b335f7cb2ba4?rule=$_2.AUTO",
"images": [
"https://img.kleinanzeigen.de/api/v1/prod-ads/images/54/545d9c12-272f-4eef-94b4-b335f7cb2ba4?rule=$_2.AUTO"
],
"image_count": 1,
"tags": [
"Gesuch",
"Versand möglich"
],
"price_raw": "1 € VB",
"price": 1,
"negotiable": true,
"is_free": false,
"currency": "EUR"
},
{
"adid": "[redacted-phone]",
"title": "iPhone 17 Hülle/Cover Transparent",
"description_preview": "Zu verkaufen iPhone 17 Hülle/Cover Transparent. Die Hülle ist Neu und verpackt. Es befinden...",
"url": "https://www.kleinanzeigen.de/s-anzeige/iphone-17-huelle-cover-transparent/[redacted-phone]",
"location": "53757 Sankt Augustin",
"image_url": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/a7/a7ec588d-d888-452a-80bb-fe093616fb4a?rule=$_2.AUTO",
"images": [
"https://img.kleinanzeigen.de/api/v1/prod-ads/images/a7/a7ec588d-d888-452a-80bb-fe093616fb4a?rule=$_2.AUTO"
],
"image_count": 3,
"tags": [
"Versand möglich"
],
"price_raw": "10 €",
"price": 10,
"negotiable": false,
"is_free": false,
"currency": "EUR"
}
],
"page": 1,
"has_more": true,
"next_page": 2
}
}What the Kleinanzeigen API scraper API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Kleinanzeigen classifieds by keyword and/or category with price, location + radius, seller-type and sort filters. Returns normalized listings (title, price, photos, location, seller type) with the true total. Page pagination. | Ops teams call search to search Kleinanzeigen classifieds by keyword and/or category with price, location + radius, se…. | query, category_id, category_slug, location_id, radius, ... |
| listing | Full listing detail by url, slug or adid: title, price, description, all photos, attributes (e.g. car specs), category breadcrumb, seller id & badges, posted date. | Developer tools call listing to get full listing detail by url, slug or adid. | url, slug, adid |
| similar | Related/similar listings shown on an ad's detail page ("Das könnte dich auch interessieren") — by url, slug or adid. | Validation workflows call similar to get related/similar listings shown on an ad's detail page ("Das könnte dich auch interessieren"). | url, slug, adid |
| categories | Full Kleinanzeigen category tree (id, name, nested children) for discovering category_id values to use in search. | Data-quality teams call categories to get full Kleinanzeigen category tree (id, name, nested children) for discovering category_id valu…. | none |
| filters | Live filter facets for a query/category from the search filter tree: category, location (state) and attribute facets, each with a result count — so you know which filter values are available and how many listings match. | Ops teams call filters to get live filter facets for a query/category from the search filter tree. | query, category_id |
| location_suggestions | Autocomplete location names + ids for a partial query — use the returned location_id with search's location_id + radius. | Developer tools call location_suggestions to get autocomplete location names + ids for a partial query. | query |
| user_listings | All active listings for a seller (by user/seller id), with page pagination. | Validation workflows call user_listings to get all active listings for a seller (by user/seller id), with page pagination.. | user_id, page |
| seller | Public seller profile by user/seller id: display name (redacted by default), member since, reputation badges, rating count, and listing count. | Data-quality teams call seller to get public seller profile by user/seller id. | user_id |
Call search from your stack
curl -X POST https://api.reefapi.com/kleinanzeigen/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"iphone"}'import requests
r = requests.post(
"https://api.reefapi.com/kleinanzeigen/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "iphone"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/kleinanzeigen/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "iphone"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.kleinanzeigen.search with {"query":"iphone"}.Who uses this API and why
- Price-intelligence teams call search to track second-hand prices across Kleinanzeigen categories.
- Resale and arbitrage tools use user_listings to monitor a specific seller's inventory.
- Market analysts use categories and filters to size supply for a product in the German market.
Questions developers ask before integrating
What is the Kleinanzeigen API scraper API?
Kleinanzeigen API scraper API is a ReefAPI endpoint group for kleinanzeigen api scraper It returns live JSON through POST requests under /kleinanzeigen/v1.
Is the Kleinanzeigen API scraper API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Kleinanzeigen API scraper calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Kleinanzeigen API scraper login or account?
No login to Kleinanzeigen API scraper is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Kleinanzeigen API scraper data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Kleinanzeigen API scraper API use?
Kleinanzeigen API scraper actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Kleinanzeigen API scraper from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call kleinanzeigen actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Kleinanzeigen API scraper API a Kleinanzeigen API scraper scraper?
It is the managed alternative to a DIY Kleinanzeigen API scraper scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same kleinanzeigen api scraper back as clean JSON.
Why does my Kleinanzeigen API scraper scraper keep getting blocked?
Most Kleinanzeigen API scraper scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.