API

Otomoto API: ogłoszenia motoryzacyjne w JSON

Otomoto nie udostępnia otwartego API dla programistów. To, co wraca tutaj, to publicznie widoczne ogłoszenia — marka, model, rocznik, przebieg i cena — w postaci JSON. Wyszukiwanie działa tak, jak korzysta z niego użytkownik serwisu: najpierw sekcja, potem marka i filtry.

Endpointy

endpointCo zwracaWymagane
searchWyszukiwanie w wybranej sekcji (osobowe, dostawcze, motocykle) z filtrami marki, modelu, rocznika, przebiegu i ceny.wszystkie opcjonalne
listing/detailPełna oferta z adresu URL lub z identyfikatora: tytuł, cena w PLN wraz z informacją o walucie, rocznik, przebieg, wyposażenie i zdjęcia.listing
makesMarki, które Otomoto samo wypisuje na stronie sekcji, uszeregowane według liczby aktywnych ogłoszeń.wszystkie opcjonalne

Każde wywołanie jest rozliczane w kredytach. Nieudane i zablokowane wywołania są darmowe.

Działający przykład

Listę marek warto brać z `makes`, a nie wpisywać z głowy: ranking pokazuje też, ile ogłoszeń faktycznie jest pod daną marką, co od razu mówi, czy zapytanie ma sens.

Żądanie
curl -X POST https://api.reefapi.com/otomoto/v1/search \
  -H "x-api-key: TWOJ_KLUCZ" \
  -H "content-type: application/json" \
  -d '{"section": "osobowe", "make": "skoda", "price_max": 60000}'
Odpowiedź (skrócona)
{
  "ok": true,
  "data": {
    "results": [
      {
        "listing_id": "...",
        "title": "Skoda Octavia",
        "year": 2018,
        "mileage_km": 142000,
        "price": 54900,
        "currency": "PLN"
      }
    ]
  },
  "meta": { "record_count": 32, "cache_hit": false, "mode": "live" }
}

Zamiast własnego scrapera Otomoto

Własny scraper Otomoto działa na początku. Potem zaczyna się to, czego nie widać: zmienia się układ listy ofert i parser zwraca pustkę zamiast błędu, a przy dłuższym przebiegu ochrona przed botami przerywa pracę w połowie.

Tutaj utrzymanie jest po naszej stronie: przy zmianie schematu poprawiamy silnik, przy blokadzie wraca kod błędu i takie wywołanie nie jest płatne.

Do jednorazowej analizy własny skrypt wyjdzie taniej — mówimy to wprost. Przy monitoringu, który ma chodzić codziennie, płaci się za awarie, nie za kod.

Ograniczenia i uczciwe uwagi

  • To nie jest oficjalne API Otomoto i nie mamy z Otomoto partnerstwa.
  • Część ofert podaje cenę netto dla firm; jeśli serwis tego nie publikuje, pole pozostaje puste.
  • Jeśli ogłoszenie nie podaje przebiegu albo rocznika, pole wraca jako null.
  • Nie ma cache: każde wywołanie pokazuje stan z momentu zapytania.