API

gebrauchtwagen.at API: Autos aus Österreich mit Preis, Preisbewertung und MwSt. als JSON

Jedes öffentliche Inserat von gebrauchtwagen.at wird hier zu einem JSON-Datensatz mit Preis in Euro, Erstzulassung, Kilometerstand, Leistung in kW und PS, Treibstoff, Getriebe, Standort mit Postleitzahl und Händler oder Privatverkäufer. Im einzelnen Inserat kommen Nettopreis und MwSt.-Satz dazu, sofern der Händler sie angibt, und die Preisbewertung der Seite mit Marktmedian und Preisbändern. Das Angebot von gebrauchtwagen.at läuft auf der Plattform der AutoScout24-Gruppe; die Inserate tragen dieselben ids wie auf autoscout24.at, und `listing` nennt die dortige Adresse in `source_url`. Hier ist die Suche aber fest auf Fahrzeuge mit Standort in Österreich beschränkt. Wer als Händler den eigenen Bestand hochladen oder Kundenanfragen bearbeiten will, ist hier falsch: Die API liest nur öffentliche Inserate und kann nichts einstellen.

Endpunkte

endpointWas zurückkommtPflicht
searchAutos in Österreich mit den Filtern der Seite: Marke und Modell (als Slug oder id), Freitext, Preis, Erstzulassung, Kilometerstand, kW, Treibstoff, Getriebe, Karosserie, Angebotsart (gebraucht, neu, Jahreswagen, Oldtimer, Vorführfahrzeug, Tageszulassung), Händler oder privat, MwSt. ausweisbar, Preisbewertung, Online seit, Umkreis um eine österreichische Postleitzahl. Bis zu 20 Zeilen pro Seite, die Gesamtzahl ist exakt.alle optional
listingEin Inserat vollständig über die `listing_id`: Bruttopreis, Nettopreis und MwSt.-Satz (wenn angegeben), Preisbewertung mit Median und Bändern, technische Daten, Antrieb, Farbe, Verbrauch und CO2, Ausstattung nach Gruppen, Vorbesitzer, Garantie, Beschreibung, alle Fotos und der Verkäufer.listing_id
makesAlle Marken mit Slug und id, dazu die Filterlisten der Seite mit ihren deutschen Bezeichnungen (Treibstoff, Karosserie, Getriebe, Angebotsart, Preisbewertung, Sortierung).alle optional
modelsDie Modelle, Modellreihen („Golf (alle)“) und Modellgruppen einer Marke mit ihren ids, also die Werte, die `search` als `model` oder `model_id` annimmt.make_id

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

Funktionierendes Beispiel

Gesucht wurden Skoda Octavia ab Erstzulassung 2019 im Umkreis von 50 km um Graz (8010): 461 Treffer, davon 140 mit ausweisbarer MwSt. Ohne den Filter trugen 6 von 20 Zeilen das Label „inkl. MwSt.“, mit ihm 20 von 20. Den Nettopreis gibt es in der Trefferliste nie, und selbst im Inserat nicht immer: Der erste Kombi unten kam in `listing` mit `vat_rate` 20 und `vat_deductible` true, aber `price_net` null. Wer für einen Betrieb rechnet, teilt dann selbst durch 1,20 und sollte das als eigene Rechnung kennzeichnen. Im selben Inserat lag der Preis von 30.970 € im zweiten Band der Seite (28.601 bis 31.500 €), der Median der Seite bei 33.400 €. Straße und Verkäufer sind unten gekürzt.

Anfrage
curl -X POST https://api.reefapi.com/gebrauchtwagen-at/v1/search \
  -H "x-api-key: IHR_API_SCHLUESSEL" \
  -H "content-type: application/json" \
  -d '{"make": "skoda", "model": "octavia", "zip": "8010", "radius_km": 50, "year_min": 2019, "vat_deductible": true}'
Antwort (gekürzt)
{
  "ok": true,
  "data": {
    "listings": [
      {
        "listing_id": "487e7bb4-39b0-4484-99d7-319daab40bd4",
        "title": "Skoda Octavia 2.0 TDI DPF * Edition* RS (EURO 6d) * Panorama-...",
        "make": "Skoda",
        "model": "Octavia",
        "variant": "RS Combi",
        "offer_type": "used",
        "price": 30970,
        "currency": "EUR",
        "price_display": "€ 30 970",
        "price_vat_label": "inkl. MwSt.",
        "price_is_symbolic": false,
        "first_registration": "2023-04",
        "mileage_km": 45352,
        "power_kw": 147,
        "power_hp": 200,
        "fuel": "Diesel",
        "transmission": "Automatik",
        "location": { "country_code": "AT", "postcode": "8062", "city": "Kumberg", ... },
        "seller": { "type": "dealer", ... },
        "image_count": 50,
        ...
      },
      {
        "listing_id": "3ade5802-76b5-4976-8cbc-581280ff7d0d",
        "title": "Skoda Octavia Combi 2.0 TDI AHK+LED+NAVI+RFK+Virtual",
        "price": 16690,
        "price_display": "€ 16 690",
        "price_vat_label": "inkl. MwSt.",
        "first_registration": "2022-09",
        "mileage_km": 106617,
        "power_kw": 85,
        "fuel": "Diesel",
        "location": { "country_code": "AT", "postcode": "8792", "city": "St. Peter - Freienstein", ... },
        ...
      },
      ...
    ]
  },
  "meta": {
    "record_count": 20,
    "total": 140,
    "total_is_exact": true,
    "pagination": { "page": 1, "limit": 20, "last_page": 7, "has_more": true, "retrievable_max": 140 },
    "filters_applied": { "make": "skoda", "model": "octavia", "year_min": 2019, "vat_deductible": true, "zip": "8010", "radius_km": 50, "make_id": 65, "model_id": 15222 },
    "market": "AT",
    "warnings": [],
    "charged_credits": 2,
    "cache_hit": false,
    "mode": "live"
  }
}

gebrauchtwagen.at scrapen: wo nichts abstürzt und das Ergebnis trotzdem falsch ist

Ein Filter mit falschem Namen wird ohne Meldung übergangen. Beim Bau am 14. Oktober 2026 lieferte ein Verkäuferfilter unter dem naheliegenden, aber falschen Parameternamen auf derselben Plattform 136.683 Autos, also den ganzen österreichischen Markt; unter dem Namen, den die Plattform selbst verwendet, waren es 32.457 private Angebote. Die API nimmt deshalb nur geschlossene Wertelisten an und meldet unbekannte Parameter in `meta.warnings`.

Nach 4.000 Zeilen ist Schluss. Wer weiterblättert, bekommt HTTP 200, eine leere Seite und die Gesamtzahl 0, was wie „keine weiteren Autos“ aussieht. Die API lehnt eine solche Seite vorab ab; `meta.pagination.retrievable_max` sagt, wie weit eine Suche reicht.

Sortiert man nach Preis aufsteigend, stehen vorne Platzhalterpreise von 1, 10 oder 50 €. Solche Beträge bis 100 € kennzeichnet `price_is_symbolic`, damit sie keinen Durchschnitt nach unten ziehen. Unter einer Sortierung liefert die Seite außerdem nur 17 statt 20 Zeilen pro Seite.

Die Bundesland-Links der Startseite sind keine Bundesländer. Hinter „Wien“ steckt eine Umkreissuche von 200 km um die Stadt; beim Bau waren das 95.908 Autos. Wer daraus eine Wiener Statistik macht, zählt Autos bis nach Graz und Linz mit. Einen Filter nach Bundesland bietet die API deshalb nicht an.

Grenzen und ehrliche Hinweise

  • Die API ist inoffiziell: Weder gebrauchtwagen.at noch die AutoScout24-Gruppe stellen sie bereit, und es gibt keine Zusammenarbeit mit ihnen.
  • Die NoVA steht nirgends in den Daten, weder in der Suche noch im Inserat. Ob sie im Preis enthalten ist, lässt sich der Antwort nicht entnehmen.
  • Einen Nettopreis gibt es nur im Inserat und nur, wenn der Händler ihn veröffentlicht: beim Bau bei 3 von 6 Inseraten mit ausweisbarer MwSt., beim einen Inserat, das wir am 28. Oktober abgerufen haben, nicht (das Beispiel oben). Wo er angegeben war, entsprach er dem Bruttopreis geteilt durch 1,20.
  • Die Preisbewertung im Inserat kommt als Zahl (`category`) mit Median und Preisbändern. Die Bezeichnungen „Sehr guter“, „Guter“ und „Fairer Preis“ liefert `makes` für den Suchfilter `price_rating`; eine Zuordnung der Bandnummern im Inserat zu diesen Wörtern liefert die Seite nicht mit.
  • Pro Suche sind höchstens 4.000 Zeilen abrufbar, ohne Filter meldete die Seite beim Bau 136.687 Autos. Große Abfragen teilt man über Modell, Preis, Baujahr oder Umkreis auf.
  • Bei Neuwagen fehlt die Erstzulassung meist (beim Bau hatte 1 von 20 Neuwagen ein Datum), und als Kilometerstand kann 0 kommen.
  • Die Antworten enthalten bei Händlern Firmenname, Ansprechperson und Telefonnummern, wie das Inserat sie zeigt. Im Beispiel sind sie gekürzt. Wer nur Preise auswertet, kann diese Felder verwerfen.
  • Credits pro Aufruf: `search` und `listing` je 2, `makes` 3, `models` 1.