API referencaProvjera vozila

Historija vozila

Za jedan oglas: svi drugi oglasi istog vozila koje je Cifra vidjela (ponovna objavljivanja, druge stranice), s datumima, cijenama i kilometražom, i signali Cifra Provjere — vraćena kilometraža, tuđe fotografije, lizing, preprodavač kao privatnik.

GEThttps://api.cifra.ba/v1/vehicle-history
Pristup
listings
Obračun
1 jedinica po uspješnom pozivu
GET/v1/vehicle-history
curl "https://api.cifra.ba/v1/vehicle-history?listing_url=https%3A%2F%2Folx.ba%2Fartikal%2F61234567" \
  -H "Authorization: Bearer $CIFRA_API_KEY"
Odgovor
{
  "object": "vehicle_history",
  "query": {
    "source": "olx",
    "listing_id": "61234567"
  },
  "vehicle": {
    "make": "Volkswagen",
    "model": "T6 Kombi",
    "year": 2016,
    "fuel": "diesel",
    "power_kw": 75
  },
  "identity": {
    "listings": 3,
    "sites": 2,
    "first_seen_on": "2026-06-25",
    "last_seen_on": "2026-10-18",
    "mileage_range_km": [
      255000,
      256000
    ],
    "confidence": 0.5
  },
  "listings": [
    {
      "source": "olx",
      "is_query": false,
      "status": "active",
      "listed_on": "2026-06-25",
      "last_seen_on": "2026-10-17",
      "days_listed": 113,
      "mileage_km": 255540,
      "first_price_bam": 32000,
      "last_price_bam": 30000,
      "city": "Tuzla",
      "link": null
    },
    {
      "source": "autobum",
      "is_query": false,
      "status": "active",
      "listed_on": "2026-09-06",
      "last_seen_on": "2026-10-18",
      "days_listed": 42,
      "mileage_km": 255000,
      "first_price_bam": 30000,
      "last_price_bam": 30000,
      "city": "Tuzla",
      "link": {
        "confidence": 0.818,
        "matched_on": [
          "same_city",
          "same_power",
          "close_mileage",
          "similar_price",
          "similar_title"
        ],
        "mileage_change_km": -540,
        "days_after_previous": 73
      }
    },
    {
      "source": "olx",
      "is_query": true,
      "status": "active",
      "listed_on": "2026-10-16",
      "last_seen_on": "2026-10-18",
      "days_listed": 1,
      "mileage_km": 256000,
      "first_price_bam": 34000,
      "last_price_bam": 34000,
      "city": "Tuzla",
      "link": {
        "confidence": 0.5,
        "matched_on": [
          "same_city",
          "same_power",
          "close_mileage",
          "similar_price",
          "similar_title"
        ],
        "mileage_change_km": 1000,
        "days_after_previous": 40
      }
    }
  ],
  "level": "elevated",
  "signals": [
    {
      "code": "relisted_often",
      "severity": "medium",
      "summary": "Na prodaji 5 mj., oglašeno 3 puta",
      "message": "Prvi oglas 25. 6. 2026. Vozilo koje se dugo ne proda često ima razlog — cijenu, stanje ili papire.",
      "check": "Pitajte koliko dugo se prodaje i zašto se još nije prodalo."
    },
    {
      "code": "changed_hands",
      "severity": "info",
      "summary": "Mijenjalo prodavca",
      "message": "Vozilo je nudio više od jednog prodavca; pogledajte historiju.",
      "check": null
    }
  ],
  "in_favour": [
    {
      "code": "mileage_consistent",
      "summary": "Kilometraža raste dosljedno kroz oglase"
    }
  ],
  "market": {
    "asking_price_bam": 34000,
    "cifra_price_bam": 28100,
    "vs_market": 0.21,
    "mileage_percentile_for_age": 0.57
  },
  "note": "Matches come from listing data (specs, mileage trail, title, seller, place, photos), not a vehicle registry. Signals are reasons to look closer, not verdicts. Signal texts are in Bosnian, as on Cifra's reports."
}

Parametri upita

  • listing_urlurlopcionalnodo 500 znakova

    Link oglasa na olx.ba, autobum.ba ili autoplac.ba. Umjesto njega: source i listing_id.

  • sourceenumopcionalno

    Stranica oglasa, uz listing_id.

    olxautobumautoplac
  • listing_idstringopcionalno

    Broj oglasa na toj stranici, npr. 61234567.

Odgovor

200
  • objectstringobavezno

    vehicle_history.

  • queryobjectobavezno

    Oglas koji ste poslali.

    Prikaži 2 polja
    • sourcestringobavezno

      Stranica.

    • listing_idstringobavezno

      Broj oglasa.

  • vehicleobjectobavezno

    Vozilo iz oglasa.

    Prikaži 5 polja
    • makestringobavezno

      Marka.

    • modelstringobavezno

      Model.

    • yearinteger | nullobavezno

      Godište.

    • fuelstringobavezno

      Gorivo.

    • power_kwnumberobavezno

      Snaga u kW.

  • identityobject | nullobavezno

    Vozilo kako ga vidi Cifra kroz sve oglase; null kad nema drugih.

    Prikaži 6 polja
    • listingsintegerobavezno

      Broj oglasa istog vozila.

    • sitesintegerobavezno

      Na koliko stranica.

    • first_seen_onstring | nullobavezno

      Prvi put viđeno.

    • last_seen_onstring | nullobavezno

      Zadnji put viđeno.

    • mileage_range_kmany[]obavezno

      Najmanja i najveća kilometraža kroz oglase.

    • confidencenumberobavezno

      Pouzdanost povezivanja oglasa, 0–1.

  • listingsobject[]obavezno

    Svi oglasi vozila, od najstarijeg. Bez linkova, naslova i prodavaca.

    Prikaži 11 polja
    • sourcestringobavezno

      Stranica: olx, autobum, autoplac.

    • is_querybooleanobavezno

      Je li ovo oglas koji ste poslali.

    • statusenumobavezno

      active, sold ili gone (uklonjen).

      activesoldgone
    • listed_onstring | nullobavezno

      Objavljen.

    • last_seen_onstring | nullobavezno

      Zadnji put viđen.

    • days_listedintegerobavezno

      Dana u prodaji.

    • mileage_kminteger | nullobavezno

      Kilometraža u oglasu.

    • first_price_baminteger | nullobavezno

      Prva cijena.

    • last_price_baminteger | nullobavezno

      Zadnja cijena.

    • citystringobavezno

      Mjesto.

    • linkobject | nullobavezno

      Zašto je oglas povezan s prethodnim; null za prvi.

      Prikaži 4 polja
      • confidencenumberobavezno

        Pouzdanost veze, 0–1.

      • matched_onstring[]obavezno

        Šta se poklopilo, npr. identical_mileage, same_city, similar_title, same_listing_other_site.

      • mileage_change_kminteger | nullobavezno

        Promjena kilometraže od prethodnog oglasa.

      • days_after_previousinteger | nullobavezno

        Dana nakon prethodnog oglasa.

  • levelenumobavezno

    Nivo pažnje: high, elevated ili low.

    highelevatedlow
  • signalsobject[]obavezno

    Razlozi da se pogleda bolje, od najtežeg.

    Prikaži 5 polja
    • codestringobavezno

      Šifra signala, npr. mileage_rollback.

    • severityenumobavezno

      Težina: high, medium, info.

      highmediuminfo
    • summarystringobavezno

      Naslov, s brojkama (bosanski).

    • messagestringobavezno

      Šta smo vidjeli (bosanski).

    • checkstringobavezno

      Šta provjeriti prije odluke (bosanski).

  • in_favourobject[]obavezno

    Šta govori u prilog vozilu.

    Prikaži 2 polja
    • codestringobavezno

      Šifra, npr. mileage_consistent.

    • summarystringobavezno

      Opis (bosanski).

  • marketobject | nullobavezno

    Cijena i kilometraža naspram tržišta.

    Prikaži 4 polja
    • asking_price_baminteger | nullobavezno

      Cijena u oglasu.

    • cifra_price_baminteger | nullobavezno

      Cifrina vrijednost.

    • vs_marketnumberobavezno

      Oglas naspram vrijednosti: 0.21 = 21% iznad.

    • mileage_percentile_for_agenumberobavezno

      Kilometraža naspram vozila iste starosti, 0–1 (0.57 = više od 57%).

  • notestringobavezno

    Napomena o porijeklu podataka.

Greške

  • 400
    invalid_request

    Tijelo ili parametri ne odgovaraju šemi; errors navodi svako polje.

  • 422
    unsupported_listing_url

    Iz linka se ne može pročitati stranica i broj oglasa.

  • 404
    listing_not_found

    Cifra još nije vidjela oglas: nov je (stranice se pregledaju dnevno) ili je sa stranice koju ne pratimo.

Uz ove, svaki poziv s ključem može vratiti opšte greške (ključ, pristup, limiti).