CarValue
The CarValue tool over the API: value a car by VIN or by make and model, and read a VIN from a photo. Scope: carvalue, granted per contract, and the key’s account must also be granted CarValue.
Whether the key’s account may use CarValue.
Requires the carvalue scope.
Example request
GET https://api.thecarapi.com/api/carvalue/accessExample response
{
"success": true
}What the valuation form can offer: makes, a make’s models, or a model’s years, engines, fuels, gearboxes and countries.
Requires the carvalue scope.
Parameters
brand_idstring · query stringWith it, that make’s models.
Example 12·Where the value comes from /api/carvalue/options -> makes
model_idstring · query stringWith brand_id, the model’s years, engines, fuels, gearboxes and countries.
Example 340·Where the value comes from /api/carvalue/options?brand_id=12 -> models
Example requests
GET https://api.thecarapi.com/api/carvalue/optionsGET https://api.thecarapi.com/api/carvalue/options?brand_id=12GET https://api.thecarapi.com/api/carvalue/options?brand_id=12&model_id=340Example response
{
"success": true,
"makes": [
{
"id": 12,
"name": "BMW"
}
]
}What a car is worth, by VIN or by make and model.
Requires the carvalue scope.
Parameters
vinstring · query stringDecoded to make, model, year, engine, fuel and gearbox, which then override those parameters.
Example WBA8E9G50GNU12345·Where the value comes from The car’s VIN, or POST /api/carvalue/scan.
brand_id / model_idstring · query stringThe make and model, when no VIN is given.
Example 12 / 340·Where the value comes from /api/carvalue/options
yearinteger · query stringRegistration year.
Example 2019·Where the value comes from The car being valued.
year_flexinteger · query stringYears either side of year for the range block. Default 1, maximum 5.
Example 1·Where the value comes from How wide a range you want.
enginenumber · query stringLitres.
Example 2.0·Where the value comes from The car being valued.
engine_flexnumber · query stringLitres either side of engine. Default 0.2, maximum 1.
Example 0.2·Where the value comes from How wide a range you want.
fuel / gearboxstring · query stringFuel, and Automatic or Manual.
Example Diesel / Automatic·Where the value comes from /api/carvalue/options
conditionenum · query stringDefault normal.
Example normal·Where the value comes from normal, damaged or any.
mileageinteger · query stringAdjusts the estimate.
Example 120000·Where the value comes from The odometer in km.
countrystring · query stringThe car’s country.
Example DE·Where the value comes from /api/carvalue/options
trend_monthsinteger · query stringMaximum 24.
Example 12·Where the value comes from How much history to chart.
offers_kind / offers_offsetstring / integer · query stringLimit the reference offers to one kind of price, and page through them 24 at a time.
Example auction / 24·Where the value comes from Your offer list state.
Example requests
GET https://api.thecarapi.com/api/carvalue/valuation?vin=WBA8E9G50GNU12345&mileage=120000GET https://api.thecarapi.com/api/carvalue/valuation?brand_id=12&model_id=340&year=2019&fuel=DieselExample response
{
"success": true,
"valuation": {
"exact": {},
"range": {},
"countries": [],
"trend": {},
"time_to_sell": null,
"offers": []
},
"vehicle": {
"vin": "WBA8E9G50GNU12345",
"make": "BMW",
"model": "320d",
"year": 2019
}
}What you get back
valuationobjectRetail, auction and buy-now prices, per country, trend, time to sell, and reference offers 24 per page from offers_offset — the same document as /api/market/valuation, plus the offers.
vehicleobject | nullWhat the VIN decoded to; null without a VIN.
Read VINs from one photo or camera frame.
Requires the carvalue scope.
Parameters
bodybinary · JSON bodyrequiredThe image itself as the request body, Content-Type image/jpeg or image/png, at most 1 MB (413 above).
Example @frame.jpg·Where the value comes from A camera frame or photo of the VIN plate or paperwork.
Example request
curl -sS -X POST -H "X-API-Key: $API_KEY" -H "Content-Type: image/jpeg" --data-binary @frame.jpg "https://api.thecarapi.com/api/carvalue/scan"Example response
{
"success": true,
"reads": [
{
"vin": "WBA8E9G50GNU12345",
"quad": [
[
0.21,
0.44
],
[
0.78,
0.44
],
[
0.78,
0.52
],
[
0.21,
0.52
]
],
"votes": 2
}
]
}What you get back
reads[]object[]Up to three VINs, best first, each with quad (where it is printed, as fractions of the image size, or null) and votes (how many agreeing reads a scanner should collect before accepting it).