v1

latestOpenAPI 3.1.0Proprietary2026-08-061935150.4 KB
Market

Estimate the total cost of owning a vehicle

What a car costs to run over a holding period: depreciation, fuel, insurance, maintenance, and taxes and fees, totalled and broken down per component and per year.

Read the breakdown, not just the total. Every component carries its own confidence. measured means a published dataset covers this exact vehicle — EEA or EPA consumption for the model/year/kW band, an official fuel-price series, a depreciation curve fitted across live comparable listings. estimated means authored constants or data stretched to fit the cohort. Collapsing the response into a single number throws away the only signal that separates the two, and the components differ in quality within a single answer.

Money values are integers in assumptions.currency, with the single exception of totals.perKm, which carries 3 decimals. assumptions states what the figures were computed against — the car's current market value, the annual distance, the horizon — so a caller can reproduce or re-scale them.

Country differences are real, not cosmetic. CZ/SK/PL price MTPL (third-party liability) insurance on an engine-power band and carry no annual passenger-car road tax; US figures follow the Edmunds True Cost to Own convention and include roughly 6% sales tax on the car's value, with liability-only insurance. US tax and fee figures are national expected values across 50 state regimes — useful for comparing cars, not a bill for any one state.

Nothing is prorated for a partial year: years buys whole years, and year 1 carries the one-off charges (US sales tax, registration). A 404 means a whole component could not be estimated, and names which one in missing — an expected outcome for a rare car or a drivetrain with no local price series, not an error to retry unchanged.

get/cost-of-ownership

Query parameters

makestring required
Example:skoda

Vehicle manufacturer (case-insensitive). Common aliases are resolved for you (volkswagen → vw). Not restricted to the /vehicle-valuation catalogue — the depreciation component is fitted against the listing store directly.

modelstring required
Example:octavia

Vehicle model (case-insensitive). Matched as a base model — A6 and A6 Allroad are different cohorts; trim codes are folded to their series (320d → 3-series).

yearinteger required
Example:2019

Model year, from 1990 up to next calendar year (a later year is rejected with 400). Required, unlike /time-to-sell: depreciation is a function of the car's age, so there is no cohort-wide answer to fall back on. No literal maximum is declared here because it moves every January.

country'CZ' | 'SK' | 'PL' | 'US' required
Example:CZ

ISO 3166-1 alpha-2 market code. Narrower than the other market endpoints because a total needs all five components to exist locally — a fuel-price series, an insurance premium model and the tax regime, not just listings. CZ/SK/PL share the EU shape; US is a separate regime end to end.

fuel'petrol' | 'diesel' | 'electric' | 'hybrid' | 'phev' | 'lpg'
Example:diesel

Fuel type (case-insensitive). Omit it and the drivetrain is inferred from what the market actually sells for this model and year. lpg is rejected for US with a 400 — there is no retail autogas price series to run the fuel component against.

kwinteger
Example:110

Engine power in kW. Narrows the depreciation cohort and selects the CZ/SK/PL insurance band. Ignored for US insurance, which is not power-rated.

kmPerYearinteger
Example:15000

Annual distance in km. Drives the fuel component and the mileage-dependent share of maintenance and depreciation. Defaults to 15000 for CZ/SK/PL and 19300 for US (12,000 miles).

yearsinteger
Example:5

Holding period in whole years. Year 1 carries the one-off charges (US sales tax, registration), so a 1-year horizon is not one fifth of a 5-year one.

currency'EUR' | 'CZK' | 'PLN' | 'USD'
Example:EUR

Currency every money value is denominated in. Defaults to EUR for CZ/SK/PL and USD for US. Not constrained by country — any of the four is accepted for any market, so a fleet can report a Czech car in EUR or compare a US car against a European quote.

Response

Cost of ownership over the requested horizon, with a per-component and per-year breakdown.

countrystring required

Market the figures describe

Example response

{
  "vehicle": {
    "make": "Skoda",
    "model": "Octavia",
    "year": 2019,
    "fuel": "diesel",
    "kw": 110,
    "requested": {
      "make": "skoda",
      "model": "octavia"
    }
  },
  "country": "CZ",
  "assumptions": {
    "kmPerYear": 15000,
    "years": 5,
    "currentValue": 12800,
    "currency": "EUR",
    "fuelPriceFlat": true
  },
  "totals": {
    "total": 18092,
    "perYear": 3618,
    "perMonth": 302,
    "perKm": 0.241
  },
  "breakdown": {
    "depreciation": {
      "total": 6400,
      "method": "market-cross-section",
      "valueBasis": "median"
    },
    "fuel": {
      "total": 5112,
      "consumptionL100km": 4.8,
      "provider": "eea",
      "fuelKey": "diesel",
      "modelYearUsed": 2019,
      "sampleSize": 42,
      "pricePerUnit": 1.42,
      "priceUnit": "litre",
      "priceCurrency": "EUR"
    },
    "insurance": {
      "total": 2100,
      "annualPremium": 420
    },
    "maintenance": {
      "total": 3900
    },
    "taxesAndFees": {
      "total": 580,
      "items": [
        {
          "label": "Motorway vignette",
          "total": 460,
          "recurring": true
        }
      ]
    }
  },
  "perYear": [
    {
      "year": 1,
      "calendarYear": 2026,
      "vehicleAge": 7,
      "depreciation": 1700,
      "fuel": 1022,
      "insurance": 420,
      "maintenance": 620,
      "taxesAndFees": 116,
      "total": 3878
    }
  ]
}