Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in
All collectors

Kleinanzeigen Scraper API

Classifieds & vehicles · v1.1.0 · kleinanzeigen_search

$0.001 / ad

$0.80 / 1K · pay per delivered ad

A Kleinanzeigen scraper API for Germany's largest classifieds site: search a keyword and get one row per ad — title, price as shown with the negotiable VB flag parsed out, location and German ZIP, listing date, description excerpt, thumbnail, the promoted top-ad flag and the ad URL.

$0.001 per delivered ad · $2 free every month · Failed runs never billed

What it does

What a Kleinanzeigen scraper API does

German classifieds price the way people speak, not the way parsers like: an amount, "VB" for Verhandlungsbasis (open to offers), or "Zu verschenken" for free. This collector keeps the raw price text on every ad and adds a parsed price_value — left null for free and non-numeric forms so a giveaway never counts as a €0 sale — plus a boolean negotiable that records the VB flag on its own.

Placement is separated from content. Promoted listings are marked with is_topad instead of being silently mixed into the ranking, and the location is returned both as the on-card string and as a clean German zip, so you can group a search by postcode without re-parsing text.

Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

InputTypeRequiredWhat it does
querystringyesWhat to search, e.g. "fahrrad".
max_resultsintegernoHow many ads to deliver at most (1–100). You pay only for delivered ads.

Outputs — 20 fields, one row per ad

What one ad looks like

Every delivered ad carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

FieldTypeWhat it holds
rankinteger1-based position.
ad_idstring · nullableAd id.
titlestringAd title.
urlstring · nullableAd URL.
pricestring · nullablePrice as shown ("3.999 €", "VB", "Zu verschenken").
price_valuenumber · nullableParsed price (null for free/non-numeric).
negotiableboolean"VB" (negotiable) flag.
locationstring · nullableZIP + city as shown.
zipstring · nullableGerman ZIP code.
datestring · nullableListing date as shown.
descriptionstring · nullableDescription excerpt.
thumbnailstring · nullableFirst photo.
is_topadbooleanPromoted top-ad flag.
citystring · nullableTown or district from the location line, without the postcode.
statestring · nullableFederal state (Bundesland) when the card states it.
old_pricestring · nullablePrevious price shown struck through on a reduced ad.
old_price_valuenumber · nullableNumeric previous price.
shipping_availablebooleanTrue when the ad offers shipping ("Versand möglich").
photo_countinteger · nullableNumber of photos on the ad.
category_idstring · nullableKleinanzeigen category id from the ad URL.

Integration

One POST, typed rows

Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/scraper/collectors/kleinanzeigen_search/run.

curl -X POST https://api.quanticdata.io/v1/scraper/collectors/kleinanzeigen_search/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"fahrrad","max_results":25}'

Example response

POST /v1/scraper/collectors/kleinanzeigen_search/run
$ curl $QD/kleinanzeigen_search/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"query": "fahrrad", "max_results": 25}'
{ "status": "done", "count": 25,
  "results": [
    {
      "ad_id": "…",
      "title": "…",
      "url": "…",
      "price": "…" } ],
  "cost": 0.025 }
# 25 ads × $0.001 · nothing delivered, nothing charged

Try it

Kleinanzeigen ads, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

Get my free API key
Kleinanzeigen Scraper API: from query, QuanticData reads the Kleinanzeigen results and returns one row per ad with title, price and negotiable, at $0.001 per delivered ad.
You send query and max_results; the run goes out through a residential exit and comes back as ads with rank, ad_id and title — 20 fields on every row — and you are billed $0.001 for each ad actually delivered, nothing for a run that delivers none.
$0.001 / ad2,000 ads on the free $2 every month
Semantic inputquery, max_results — no URL lists
Up to 100ads per run, pagination handled for you
No browserread over HTTP/TLS — cheaper and faster than rendering

Pricing

Kleinanzeigen Scraper API pricing

$0.001 per delivered ad. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 2,000 ads before you spend anything.

$0.001per delivered ad$0.8 per 1,000 delivered ads
2,000 adson the free allowance$2 every month, no card
Zero rowszero chargeblocks, captchas and retries are on us
−30%on volume tiersthe catalog returns your key's price

Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.

What people build with the Kleinanzeigen scraper API

Three shapes of work this endpoint was designed around.

Used-goods pricing

Track asking prices for a model across Germany, with negotiable ads flagged separately from firm ones.

Regional supply

Group ads by ZIP to see where a category is thick or thin before you buy or list.

Deal discovery

Filter for free "Zu verschenken" items or fresh listings by date within a keyword.

Kleinanzeigen Scraper API versus rolling your own

The differences that actually cost time when you build this in-house.

DIY scraperThis collector
VB / free pricesParsed as 0 or droppedRaw text kept, value null, negotiable flagged
Top adsBlended into the resultsMarked with is_topad
LocationOne string to split yourselfCity string and German ZIP separated

What people search for

Live autocomplete demand around Kleinanzeigen ads, pulled with our own Keyword ideas collector.

Kleinanzeigen Scraper API: the POST to the kleinanzeigen_search collector, 25 ads delivered and the bill, 25 × $0.001 = $0.025 in usage.cost_usd; zero ads would cost $0.
The same call you would paste into a terminal: a Bearer key, query in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many ads arrived and usage.cost_usd is $0.025, which is 25 × $0.001. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

FAQ

Questions we get about the Kleinanzeigen scraper API.

Something else? Ask us

Does Kleinanzeigen have a public API?

No open product API — its former eBay-linked interfaces are gone and what remains is aimed at professional sellers. This collector reads the public search results, so a keyword is all it needs.

What does the VB on a price mean?

Verhandlungsbasis — the seller's asking figure is negotiable. The number stays in price and price_value, and negotiable is set true so you can treat those ads differently from fixed-price ones.

Are free items handled?

Yes. "Zu verschenken" ads keep their label in price while price_value stays null, so a giveaway is never mistaken for a zero-euro transaction in your data.

Is there a free Kleinanzeigen scraper API?

Every account gets $2 of credit every month with no card, which is about 2,000 delivered ads on this endpoint at $0.001 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

How much does one run cost?

Multiply the rows you actually receive by $0.001. A run capped at 100 ads — the maximum for this collector — costs $0.1 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.

Run the Kleinanzeigen scraper API now

$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.

Run in dashboard
Illustration: three coloured zones of the page that is read (Kleinanzeigen results) turn into clean JSON with the fields title, price and negotiable; 20 fields on every row.