API

Kleinanzeigen API: Anzeigen und Inserate als JSON

Für Kleinanzeigen gibt es keine offene Entwicklerschnittstelle. Was hier zurückkommt, ist das, was die Seite öffentlich anzeigt — Anzeigen, Preise, Orte und Verkäuferprofile — als JSON, ohne Konto. Für Marktbeobachtung ist vor allem der Umkreis-Filter wichtig: ohne Ort suchen Sie bundesweit, und das ist selten die Frage.

Endpunkte

endpointWas zurückkommtPflicht
searchSuche nach Stichwort und/oder Kategorie mit Preis, Ort plus Umkreis und Sortierung.alle optional
listingDas vollständige Inserat über URL, Slug oder adid: Titel, Preis, Beschreibung, alle Fotos und die Attribute.alle optional
similarDie ähnlichen Anzeigen, die auf der Detailseite erscheinen ('Das könnte dich auch interessieren').alle optional
categoriesDer vollständige Kategoriebaum mit id, Name und verschachtelten Unterkategorien — die Quelle für `category_id`.alle optional
filtersDie aktuell verfügbaren Filterfacetten zu einer Suche oder Kategorie: Kategorie, Ort, Preis und die kategoriespezifischen Attribute.alle optional
location_suggestionsOrtsnamen und ihre ids zu einer Teileingabe. Die zurückgegebene location_id gehört in die Suche.query
user_listingsAlle aktiven Anzeigen eines Verkäufers, seitenweise.user_id
sellerDas öffentliche Verkäuferprofil: Anzeigename (standardmäßig maskiert), Mitglied seit, Bewertung.user_id

Jeder Aufruf wird in Credits abgerechnet. Fehlgeschlagene und blockierte Aufrufe sind kostenlos.

Funktionierendes Beispiel

Erst den Ort über location_suggestions in eine id auflösen, dann damit suchen. Wer den Umkreis wegläßt, vergleicht später Preise aus Flensburg mit Preisen aus München und wundert sich über die Streuung.

Anfrage
curl -X POST https://api.reefapi.com/kleinanzeigen/v1/search \
  -H "x-api-key: IHR_SCHLUESSEL" \
  -H "content-type: application/json" \
  -d '{"query": "fahrrad", "location_id": "...", "radius": 20, "price_max": 500}'
Antwort (gekürzt)
{
  "ok": true,
  "data": {
    "results": [
      {
        "adid": "...",
        "title": "...",
        "price": 320,
        "currency": "EUR",
        "location": "...",
        "url": "https://www.kleinanzeigen.de/..."
      }
    ]
  },
  "meta": { "record_count": 25, "cache_hit": false, "mode": "live" }
}

Statt eines eigenen Kleinanzeigen-Scrapers

Scraper für Kleinanzeigen gibt es auf GitHub reichlich und der erste Lauf klappt meistens. Schwierig wird es danach: ändert sich der Aufbau der Trefferliste, kommt eine leere Liste statt eines Fehlers zurück, und bei einem größeren Durchlauf wird die IP irgendwann abgewiesen.

Hier liegt die Pflege bei uns: bei einer Schemaänderung reparieren wir die Engine, bei einer Blockade kommt ein Fehlercode und der Aufruf wird nicht berechnet.

Für eine einmalige Suche ist das eigene Skript weiterhin günstiger. Wer dauerhaft beobachtet, zahlt am Ende für die Ausfälle, nicht für den Code.

Grenzen und ehrliche Hinweise

  • Das ist nicht die offizielle Kleinanzeigen-Schnittstelle, und wir haben keine Partnerschaft mit Kleinanzeigen.
  • Verkäufernamen werden standardmäßig maskiert ausgeliefert.
  • Ohne location_id wird bundesweit gesucht. Das ist kein Fehler, aber selten die gewünschte Frage.
  • Kein Cache: jeder Aufruf ist live.