Vehicore
Reference

Valuation

Get vehicle price change and valuation data.

This page shows how to use the VehiCore Valuation API to get price change data for a vehicle. Send normalized vehicle attributes; the API returns valuation-related data. Use Normalize first if your data is raw or non-canonical.

Request is JSON; authenticate with X-API-Key.


Price Change Data

POST /api/valuation/price-change-data

Request

Headers

FieldTypeRequiredDescription
Content-TypestringYesMust be application/json.
X-API-KeystringYesYour API key.

Body (JSON) — Car criteria for price change lookup. All fields optional; send the ones you have.

FieldTypeDescription
brandstringe.g. bmw.
modelstringe.g. 320.
yearnumbere.g. 2020.
combustionstringe.g. diesel, petrol, electric.
gearboxstringe.g. automatic, manual.
countrystringe.g. italy.

Example request

curl -X POST "https://vehicore-api.dev-stage.fyi/api/valuation/price-change-data" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"brand":"bmw","model":"320","year":2020,"combustion":"diesel","gearbox":"automatic","country":"italy"}'
const response = await fetch('https://vehicore-api.dev-stage.fyi/api/valuation/price-change-data', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': process.env.VEHICORE_API_KEY,
  },
  body: JSON.stringify({
    brand: 'bmw',
    model: '320',
    year: 2020,
    combustion: 'diesel',
    gearbox: 'automatic',
    country: 'italy',
  }),
});
const data = await response.json();
import os
import requests

url = "https://vehicore-api.dev-stage.fyi/api/valuation/price-change-data"
headers = {
    "Content-Type": "application/json",
    "X-API-Key": os.environ["VEHICORE_API_KEY"],
}
payload = {
    "brand": "bmw",
    "model": "320",
    "year": 2020,
    "combustion": "diesel",
    "gearbox": "automatic",
    "country": "italy",
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
String json = "{\"brand\":\"bmw\",\"model\":\"320\",\"year\":2020,\"combustion\":\"diesel\",\"gearbox\":\"automatic\",\"country\":\"italy\"}";
RequestBody body = RequestBody.create(json, MediaType.parse("application/json"));

Request request = new Request.Builder()
    .url("https://vehicore-api.dev-stage.fyi/api/valuation/price-change-data")
    .header("X-API-Key", System.getenv("VEHICORE_API_KEY"))
    .post(body)
    .build();

try (Response response = new OkHttpClient().newCall(request).execute()) {
    System.out.println(response.body().string());
}
payload := []byte(`{"brand":"bmw","model":"320","year":2020,"combustion":"diesel","gearbox":"automatic","country":"italy"}`)
req, _ := http.NewRequest("POST", "https://vehicore-api.dev-stage.fyi/api/valuation/price-change-data", bytes.NewReader(payload))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", os.Getenv("VEHICORE_API_KEY"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)

Response

On success the API returns price change / valuation data. See Swagger for the full response schema.

Possible errors

All error responses use the shape { "message": "Human-readable text", "code": "OPTIONAL_CODE" }. See Error responses for details.

StatusCodeDescription
400VALIDATION_ERRORBad Request — invalid JSON, missing required field, or validation failure.
401UNAUTHORIZEDUnauthorized — missing or invalid X-API-Key.
402INSUFFICIENT_CREDITSPayment Required — insufficient credits. Purchase more from Billing.
404NOT_FOUNDNot Found — resource or vehicle data not found.
500Internal Server Error — unexpected server error; retry later.

On this page