Kleinanzeigen Listing Lookup: Germany Classifieds API
Pricing
from $1.52 / 1,000 successful lookups
Kleinanzeigen Listing Lookup: Germany Classifieds API
Look up any Kleinanzeigen.de listing: title, price, location, description, and the full category-specific details list (mileage, brand, condition, and more). Pay only for listings that resolve. No charge on removed or invalid listing URLs.
Pricing
from $1.52 / 1,000 successful lookups
Rating
0.0
(0)
Developer
Adrian Voss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Kleinanzeigen Listing Lookup
Look up any Kleinanzeigen.de listing — title, price, location, description, and the full category-specific details list (mileage, brand, condition, and more) — from Germany's dominant classifieds marketplace, covering everything from cars and real estate to electronics and jobs.
Features
- Core listing fields. Title, price (both raw text and a parsed numeric value), location, full description text, and the ad ID.
- Category-specific details. A generic label/value
detailsobject that covers whatever attribute list the listing shows — vehicle mileage, real-estate room count, item condition, and more — without needing a separate schema per category. - Listing image. The preview image URL pulled from the page's Open Graph tags.
- Pay only for hits. Removed or invalid listing URLs cost nothing — see Pricing.
How to use Kleinanzeigen Listing Lookup — Germany Classifieds API
- In the Apify Console. Open the actor page and click Start — the
itemsfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"items":["https://www.kleinanzeigen.de/s-anzeige/hyundai-getz-cross-1-4-klima-8x-1-hand-s-heft-tuev-10-27/3495798211-216-989"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Input
{"items": ["https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284"],"maxConcurrency": 5,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
items is the only required field — a list of full Kleinanzeigen.de listing URLs (the
/s-anzeige/... permalink). A bare path is also accepted and expanded onto the domain
automatically. One dataset row is returned per item; rows with "found": false are
never charged. maxConcurrency (default 5, up to 20) controls how many requests run
in parallel. proxyConfiguration defaults to the Residential proxy group — plain
datacenter IPs can get a 403 from this target even though a residential IP succeeds.
Output
{"query": "https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284","found": true,"data": {"adId": "3489456174","title": "Audi Q3 2.0 TDI quattro S line","priceText": "24.500 € VB","priceValue": 24500,"locality": "10115 Berlin","description": "Gepflegter Audi Q3 aus erster Hand, scheckheftgepflegt...","details": {"Kilometerstand": "68.000 km","Erstzulassung": "03/2019","Kraftstoffart": "Diesel","Fahrzeugzustand": "Gebraucht"},"image": "https://img.kleinanzeigen.de/api/v1/prod-ads/images/...","url": "https://www.kleinanzeigen.de/s-anzeige/audi-q3.../3489456174-216-2284"},"scrapedAt": "2026-08-20T12:00:00.000Z"}
A removed, expired, or invalid listing URL redirects to the category browse page,
which has none of the listing elements above — that's used as the not-found signal, so
you get a dataset row with "found": false, but you're never charged for it.
Use cases
- Vehicle/marketplace price comparison — pull structured price and detail fields across a shortlist of listings instead of reading each page manually.
- Listing monitoring — re-check a saved set of listing URLs over time; a removed or
sold listing flips to
found: false. - Category-specific data extraction — the generic
detailsobject surfaces whatever attributes a category shows (mileage and fuel type for cars, room count for real estate, condition for electronics) without a custom parser per category. - Lead sourcing — collect structured listing data from a set of URLs gathered elsewhere (search exports, saved searches) into one clean table.
Pricing
$2 per 1,000 results, plus a $0.00005 start fee. Misses (found:false) are never charged.
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"items":["https://www.kleinanzeigen.de/s-anzeige/hyundai-getz-cross-1-4-klima-8x-1-hand-s-heft-tuev-10-27/3495798211-216-989"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"items":["https://www.kleinanzeigen.de/s-anzeige/hyundai-getz-cross-1-4-klima-8x-1-hand-s-heft-tuev-10-27/3495798211-216-989"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~kleinanzeigen-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"items":["{{value}}"]}, mapping the row's value into the items array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "Kleinanzeigen Listing Lookup | Apify" — the agent will find and run this actor.
FAQ
What counts as "not found"? A removed, expired, or fabricated listing URL redirects to Kleinanzeigen's category browse page, which has none of the listing-specific elements this actor extracts. That's used directly as the not-found signal.
Why does this default to a Residential proxy?
Plain datacenter IPs have been observed getting blocked with an HTTP 403 on this
target even when a request from a residential IP succeeds — the Residential proxy
group is the default for a reliable found rate. You can override
proxyConfiguration if you have your own proxy setup.
Can I submit a listing path instead of the full URL?
Yes — a bare path (e.g. /s-anzeige/...) is expanded onto www.kleinanzeigen.de
automatically. Submitting the full URL is recommended for clarity.
What's in the details field?
Whatever category-specific attribute list the listing page shows, as label/value
pairs — vehicle mileage and fuel type, real-estate room count, item condition, and so
on. The fields present vary by listing category.
Does this cover every Kleinanzeigen category?
Yes — the extraction targets generic id-tagged elements present on every listing page
regardless of category (vehicles, real estate, electronics, jobs, services), plus the
category-specific details list.
Can I run this against a large batch of listing URLs?
Yes — maxConcurrency controls how many requests run in parallel (default 5, up to
20).