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
| Field | Type | Required | Description |
|---|---|---|---|
Content-Type | string | Yes | Must be application/json. |
X-API-Key | string | Yes | Your API key. |
Body (JSON) — Car criteria for price change lookup. All fields optional; send the ones you have.
| Field | Type | Description |
|---|---|---|
brand | string | e.g. bmw. |
model | string | e.g. 320. |
year | number | e.g. 2020. |
combustion | string | e.g. diesel, petrol, electric. |
gearbox | string | e.g. automatic, manual. |
country | string | e.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.
| Status | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Bad Request — invalid JSON, missing required field, or validation failure. |
| 401 | UNAUTHORIZED | Unauthorized — missing or invalid X-API-Key. |
| 402 | INSUFFICIENT_CREDITS | Payment Required — insufficient credits. Purchase more from Billing. |
| 404 | NOT_FOUND | Not Found — resource or vehicle data not found. |
| 500 | — | Internal Server Error — unexpected server error; retry later. |