API Referenz
Diese Endpunkte sind für deine Anwendung gedacht. Alle Requests sind GET-Requests, benötigen den Header klaz_key und liefern JSON zurück.
Inserate suchen
GET /api/v2/kleinanzeigen/search
Nutze diesen Endpoint für Suchseiten, Preisvergleiche, Monitoring oder Matching in deiner Anwendung.
Parameter:
q string: Suchbegriff.
page integer, Default 0: Ergebnis-Seite, startet bei 0.
size integer, Default 31: Ergebnisse pro Seite, maximal 100.
category_id string: Kleinanzeigen-Kategorie.
location_id string: Kleinanzeigen-Standort. Nicht zusammen mit latitude und longitude verwenden.
distance string: Umkreis in Kilometern.
min_price integer: Mindestpreis.
max_price integer: Höchstpreis.
picture_required boolean: Nur Inserate mit Bildern.
buy_now_only boolean: Nur Direktkauf-Inserate.
shippable boolean: Nur Inserate mit Versand.
ad_type enum: OFFER oder WANTED.
poster_type enum: PRIVATE oder COMMERCIAL.
latitude number: Breitengrad. Nur zusammen mit longitude.
longitude number: Längengrad. Nur zusammen mit latitude.
attr[...] string: Kategorieattribute, zum Beispiel attr[condition]=new.
sort_type ist aktuell nicht verfügbar. Die API antwortet mit 400, wenn der Parameter gesendet wird.
curl "https://v2-api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/search?q=sofa&min_price=50&max_price=300&picture_required=true" \
-H "klaz_key: klaz_live_..."
Die Antwort enthält data.meta und data.ads. data.meta enthält page, size, total, exact_total, has_next_page, next_page und source; Paging bleibt damit auf unserer API-Oberfläche und enthält keine Upstream-URLs. Jedes Inserat kommt in einem konsistenten Format zurück:
{
"ad_id": "1234567890",
"title": "Sofa",
"description": "Guter Zustand",
"price": {
"amount": 120,
"currency_code": "EUR",
"currency_label": "Euro",
"price_type": "FIXED",
"negotiable": false
},
"shipping_available": false,
"buy_now_available": false,
"images": [],
"ad_url": "https://www.kleinanzeigen.de/...",
"views": null,
"created_at": "2026-05-04T10:00:00.000Z",
"status": "ACTIVE",
"deleted": false,
"seller": {
"seller_id": "abc123",
"name": "Max",
"type": "PRIVATE"
},
"location": {
"id": "3331",
"name": "Berlin",
"city": "Berlin"
},
"category": {
"id": "88",
"name": "Sofas",
"parent_id": "80"
},
"attributes": [],
"details": {}
}
Kleinanzeigen liefert in Suchantworten oft keine user-id. seller.seller_id kann deshalb bei /search null sein; nutze GET /api/v2/kleinanzeigen/ads/:ad_id, wenn du die Verkäufer-ID zuverlässig brauchst.
Inseratdetails abrufen
GET /api/v2/kleinanzeigen/ads/:ad_id
Parameter:
ad_id numeric string, erforderlich: Kleinanzeigen-Inserat-ID im Pfad.
include_views boolean, Default false: Lädt zusätzlich die Aufrufzahl und berechnet einen Extra-Credit.
curl "https://v2-api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/ads/1234567890?include_views=true" \
-H "klaz_key: klaz_live_..."
Antwort:
{
"success": true,
"message": "Kleinanzeigen ad fetched",
"data": {
"source": "live",
"ad": {
"ad_id": "1234567890",
"title": "Sofa",
"views": 42
}
},
"request_id": "req_..."
}
Inseratstatus prüfen
GET /api/v2/kleinanzeigen/ads/:ad_id/status
Nutze diesen Endpoint, wenn du nur wissen willst, ob ein Inserat noch aktiv ist. include_views=true ist auch hier möglich.
{
"success": true,
"data": {
"source": "live",
"status": {
"ad_id": "1234567890",
"status": "ACTIVE",
"deleted": false,
"views": null
}
},
"request_id": "req_..."
}
Weitere Inserate eines Verkäufers
GET /api/v2/kleinanzeigen/sellers/:seller_id/ads
Parameter:
seller_id string, erforderlich: Verkäufer-ID aus ad.seller.seller_id.
page integer, Default 0: Ergebnis-Seite.
size integer, Default 31: Ergebnisse pro Seite, maximal 100.
Die Antwort entspricht der Suchantwort mit data.meta und data.ads.
Kategorien
GET /api/v2/kleinanzeigen/categories
GET /api/v2/kleinanzeigen/categories/:category_id/metadata
GET /api/v2/kleinanzeigen/categories/:category_id/search-metadata
Nutze Kategorien, um Suchanfragen genauer einzugrenzen und passende Filter für deine Oberfläche zu bauen.
/categories liefert den Kategoriebaum. metadata liefert verfügbare Felder für eine Kategorie. search-metadata liefert Suchfilter und Attribute, die du für attr[...] verwenden kannst.
curl "https://v2-api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/categories/161/search-metadata" \
-H "klaz_key: klaz_live_..."
Standorte
GET /api/v2/kleinanzeigen/locations
GET /api/v2/kleinanzeigen/locations/:location_id
Parameter:
q string: Standortsuche nach Name oder PLZ.
latitude number: Breitengrad. Nur zusammen mit longitude.
longitude number: Längengrad. Nur zusammen mit latitude.
limit integer, Default 100: Maximale Anzahl normalisierter Standorte, maximal 500.
curl "https://v2-api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/locations?q=Berlin&limit=10" \
-H "klaz_key: klaz_live_..."
Nutze Standorte für Autocomplete, regionale Suchen und Umkreissuchen. Die Standortliste wird flach zurückgegeben, damit du sie direkt in Suchfeldern oder Matchern verwenden kannst.