Ab heute hat die Kleinanzeigen API drei neue Endpunkte. Du kannst jetzt zählen, wie viele Inserate eine Suche in jeder Kategorie findet, zu einem Inserat ähnliche Angebote abrufen und die weiteren Inserate eines Verkäufers laden, ohne dessen Verkäufer-ID zu kennen. Alle drei laufen live gegen Kleinanzeigen, liefern dasselbe normalisierte Format wie die bestehenden Endpunkte und kosten jeweils 1 Credit.
| Endpunkt | Wofür |
|---|---|
GET /api/v2/kleinanzeigen/search/category-counts | Trefferzahl je Kategorie für eine Suche |
GET /api/v2/kleinanzeigen/ads/:ad_id/similar | Bis zu 10 ähnliche Inserate zu einem Inserat |
GET /api/v2/kleinanzeigen/ads/:ad_id/seller-ads | Bis zu 30 weitere Inserate vom Verkäufer eines Inserats |
Du findest alle drei auch in der Sandbox und kannst sie dort direkt im Browser ausprobieren.
Treffer pro Kategorie: wie groß ist das Angebot?
Mit /search/category-counts siehst du auf einen Blick, wie sich eine Suche über die Kategorien verteilt. Du gibst dieselben Filter mit wie bei der normalen Suche, also Suchbegriff, Standort, Umkreis, Preisspanne oder Attribute. Zurück kommen die Trefferzahlen je Kategorie, sortiert nach Anzahl, ohne dass ein einziges Inserat geladen wird.
curl "https://api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/search/category-counts?q=iphone%2015" \
-H "klaz_key: klaz_live_..."
Für „iphone 15“ sah die Antwort am 29. September 2026 so aus:
{
"success": true,
"data": {
"meta": { "total": 21258, "exact_total": true, "source": "live" },
"categories": [
{ "category_id": "161", "name": "Elektronik", "parent_id": "0", "count": 20541 },
{ "category_id": "153", "name": "Mode & Beauty", "parent_id": "0", "count": 525 },
{ "category_id": "297", "name": "Dienstleistungen", "parent_id": "0", "count": 274 },
{ "category_id": "210", "name": "Auto, Rad & Boot", "parent_id": "0", "count": 91 }
]
},
"request_id": "req_..."
}
Setzt du zusätzlich category_id, bekommst du diese Kategorie mit ihrer Gesamtzahl und darunter ihre direkten Unterkategorien. Mit category_id=161 zeigt sich, dass von den 20.541 Treffern in Elektronik 18.363 in Smartphones liegen und 1.662 in Wearables Zubehör. So arbeitest du dich Ebene für Ebene zur passenden Kategorie vor.
Ein paar Ideen, was du damit bauen kannst:
- Marktanalysen: Wie viele Angebote gibt es gerade zu einem Produkt, in einer Region oder in einer Preisspanne? Einmal am Tag abgefragt, bekommst du für 1 Credit pro Tag eine Zeitreihe zum Angebotsvolumen.
- Bessere Suchoberflächen: Zeige neben dem Suchfeld Kategorien mit Trefferzahl an, damit deine Nutzer:innen die Suche mit einem Klick eingrenzen.
- Vorschläge für Suchagenten: Bevor jemand einen Suchagenten oder Webhook anlegt, siehst du, ob die Suche zu breit ist und in welcher Kategorie die relevanten Treffer liegen.
Ähnliche Inserate für Preisvergleiche und Alternativen
/ads/:ad_id/similar liefert bis zu 10 Inserate, die Kleinanzeigen als ähnlich zu einem Inserat einstuft. Über size legst du fest, wie viele du brauchst, zwischen 1 und 10.
curl "https://api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/ads/1234567890/similar?size=10" \
-H "klaz_key: klaz_live_..."
Die Inserate kommen unter data.ads im selben Format wie bei der Suche, mit Preis, Standort, Bildern, Verkäufertyp und Link zum Original. Damit lässt sich zum Beispiel schnell einschätzen, ob ein Preis im üblichen Rahmen liegt:
const response = await fetch(
"https://api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/ads/1234567890/similar",
{ headers: { klaz_key: process.env.KLAZ_KEY } }
);
const { data } = await response.json();
const prices = data.ads
.map((ad) => ad.price?.amount)
.filter((amount) => typeof amount === "number")
.sort((a, b) => a - b);
const median = prices[Math.floor(prices.length / 2)];
console.log(`${prices.length} ähnliche Inserate, Median ${median} €`);
Praktisch ist der Endpunkt auch, wenn ein Inserat verschwindet. Meldet dir /ads/:ad_id/status, dass ein Inserat nicht mehr aktiv ist, zeigst du mit /similar direkt passende Alternativen an.
Weitere Inserate des Verkäufers, direkt ab der Inserat-ID
In Suchergebnissen liefert Kleinanzeigen oft keine Verkäufer-ID mit. Bisher hast du deshalb zuerst die Inseratdetails geladen und danach die Inserate des Verkäufers. Mit /ads/:ad_id/seller-ads geht das in einem Schritt: Du übergibst die Inserat-ID und bekommst bis zu 30 weitere Inserate desselben Verkäufers.
curl "https://api.kleinanzeigen-agent.de/api/v2/kleinanzeigen/ads/1234567890/seller-ads" \
-H "klaz_key: klaz_live_..."
{
"success": true,
"data": {
"meta": { "ad_id": "1234567890", "total": 70, "has_more": true, "source": "live" },
"ads": [/* bis zu 30 Inserate im normalisierten Format */]
},
"request_id": "req_..."
}
Das Ausgangsinserat ist nicht in der Liste. meta.total nennt dir die Gesamtzahl der weiteren Inserate, meta.has_more zeigt, ob es mehr als die gelieferten 30 gibt. Brauchst du alle, nimmst du ads[0].seller.seller_id und blätterst mit /sellers/:seller_id/ads durch die komplette Liste.
Wofür sich das anbietet:
- Verkäufer einschätzen: Wie viele Inserate hat jemand gerade online, und in welchen Kategorien? Das hilft dir zum Beispiel, gewerbliche Anbieter von gelegentlichen Privatverkäufen zu unterscheiden.
- Mehr aus einem Kontakt machen: Wer ein Objektiv verkauft, hat vielleicht auch die passende Kamera oder Zubehör im Angebot. Das ist interessant für Bündelangebote oder wenn du mehrere Teile bei einer Person abholen möchtest.
- Anreicherung in deiner Datenbank: Speicherst du Inserate aus Suchen oder Webhooks, ergänzt du mit einem Aufruf das Umfeld des Verkäufers.
Was es kostet
Jeder der drei Endpunkte kostet 1 Credit pro Aufruf, unabhängig von der Anzahl der Treffer. Wie bei allen Live-Endpunkten erstatten wir die Credits automatisch, wenn die Anfrage bei Kleinanzeigen fehlschlägt. Ein kostenloser Account startet mit 50 Credits, damit kannst du alle drei Endpunkte in Ruhe ausprobieren. Die vollständige Kostenübersicht findest du in der Dokumentation.
Jetzt ausprobieren
In der Sandbox findest du „Treffer pro Kategorie“ in der Gruppe Suche sowie „Ähnliche Inserate“ und „Weitere Inserate des Verkäufers“ in der Gruppe Inserate. Die Sandbox zeigt dir die Antwort als Vorschau und als JSON und erzeugt den passenden cURL-Befehl für deine eigene Anwendung. Alle Parameter und Antwortfelder stehen in der API-Referenz.
Wenn dir für deinen Anwendungsfall noch ein Endpunkt fehlt, schreib uns über /app/support. Wir freuen uns über dein Feedback.