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
| endpoint | Co zwraca | Wymagane |
|---|---|---|
| search | Wyszukiwanie w wybranej sekcji (osobowe, dostawcze, motocykle) z filtrami marki, modelu, rocznika, przebiegu i ceny. | wszystkie opcjonalne |
| listing/detail | Peł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 |
| makes | Marki, 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.
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}'{
"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.