Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: VIN Decoder Vehicle Market Value API
description: Break down vehicle identification number into vehicle specification
termsOfService: https://vincario.com/terms-and-conditions/
contact:
name: Vincario
url: https://vincario.com/
email: support@vincario.com
version: '3.2'
servers:
- url: https://api.vincario.com/
tags:
- name: Vehicle Market Value
paths:
/3.2/{API_KEY}/{CONTROL_SUM}/vehicle-market-value/{VIN}.{format}:
get:
operationId: Vehicle_Market_Value
tags:
- Vehicle Market Value
summary: Vehicle Market Value
description: 'Vehicle Market Value API returns an object with a vehicle details and its market value based on the last 365 days market data. You''ll be able to evaluate the vehicle market price and average odometer reading based on given VIN.
Response is returned when at least 10 records of similar vehicle is available on the market, otherwise the request is not charged.'
parameters:
- name: API_KEY
in: path
description: Your API key
required: true
schema:
type: string
- name: CONTROL_SUM
in: path
description: 'The CONTROL_SUM for this endpoint is generated by taking the first 10 characters of the SHA1 hash of your VIN, the operation ID ''<strong>vehicle-market-value</strong>'', API key, and secret key, concatenated in that order.<br/> <i>For instance</i>: <code>$controlSum = substr(sha1("{$vin}|vehicle-market-value|{$apiKey}|{$secretKey}"), 0, 10);</code><br/> For a complete guide, please refer to the <a href="https://vincario.com/api-docs/3.2/#api-how-to-create-a-request">How to create a request</a>.
'
required: true
schema:
type: string
- name: VIN
in: path
description: Vehicle Identification Number
required: true
style: simple
schema:
maxLength: 17
minLength: 17
type: string
example: XXXDEF1GH23456789
- name: format
in: path
description: Response format (json or html)
required: true
style: simple
schema:
type: string
default: json
- name: odometer
in: query
description: 'Odometer reading used for price adjusted calculation. When provided, the response will include a price_odometer_adjusted field with an estimated price based on the provided odometer reading.
'
required: false
schema:
type: integer
minimum: 0
- name: odometer_unit
in: query
description: 'Unit of measurement for the odometer reading. Valid values are ''km'' (kilometers) or ''mi'' (miles). Defaults to ''km'' if not provided.
'
required: false
schema:
type: string
enum:
- km
- mi
responses:
'200':
description: 'Returns an object containing all available information about the vehicle. This includes vehicle basic and specific equipment, color codes, KBA numbers, specifications for electric vehicles, battery size, battery charging type, the original price of the vehicle, and much more.
'
content:
application/json:
schema:
description: "<pre>{\n <span>\"vin\"</span>: <i>string</i>,\n <span>\"price\"</span>: <b>float</b>,\n <span>\"price_currency\"</span>: <i>string</i>,\n <span>\"balance\"</span>: {\n <span>\"API Decode\":</span> <b>integer</b>,\n <span>\"API Stolen Check\":</span> <b>integer</b>,\n <span>\"API Vehicle Market Value\":</span> <b>integer</b>,\n <span>\"API OEM VIN Lookup\":</span> <b>integer</b>,\n <span>\"API OEM Service History\":</span> <b>integer</b>\n },\n <span>\"vehicle\"</span>: {\n <span>\"vehicle_id\"</span>: <b>integer</b>,\n <span>\"make\"</span>: <i>string</i>,\n <span>\"make_id\"</span>: <b>integer</b>,\n <span>\"model\"</span>: <i>string</i>,\n <span>\"model_id\"</span>: <b>integer</b>,\n <span>\"model_year\"</span>: <b>integer</b>,\n <span>\"transmission\"</span>: <i>string</i>,\n <span>\"transmission_id\"</span>: <b>integer</b>,\n <span>\"engine_power_kw\"</span>: <b>integer</b>,\n <span>\"engine_displacement_ccm\"</span>: <b>integer</b>,\n <span>\"fuel_type_primary\"</span>: <i>string</i>,\n <span>\"fuel_type_primary_id\"</span>: <b>integer</b>,\n <span>\"make_logo\"</span>: <i>string|null</i>,\n },\n <span>\"period\"</span>: {\n <span>\"from\"</span>: <i>string</i>,\n <span>\"to\"</span>: <i>string</i>\n },\n <span>\"market_price\"</span>: {\n <span>\"europe\"</span>: {\n <span>\"price_count\"</span>: <b>integer</b>,\n <span>\"price_currency\"</span>: <i>string</i>,\n <span>\"price_below\"</span>: <b>integer</b>,\n <span>\"price_median\"</span>: <b>integer</b>,\n <span>\"price_avg\"</span>: <b>integer</b>,\n <span>\"price_above\"</span>: <b>integer</b>,\n <span>\"price_stdev\"</span>: <b>integer</b>\n },\n <span>\"north_america\"</span>: {\n <span>\"price_count\"</span>: <b>integer</b>,\n <span>\"price_currency\"</span>: <i>string</i>,\n <span>\"price_below\"</span>: <b>integer</b>,\n <span>\"price_median\"</span>: <b>integer</b>,\n <span>\"price_avg\"</span>: <b>integer</b>,\n <span>\"price_above\"</span>: <b>integer</b>,\n <span>\"price_stdev\"</span>: <b>integer</b>\n }\n },\n <span>\"market_odometer\"</span>: {\n <span>\"europe\"</span>: {\n <span>\"odometer_count\"</span>: <b>integer</b>,\n <span>\"odometer_unit\"</span>: <i>string</i>,\n <span>\"odometer_below\"</span>: <b>integer</b>,\n <span>\"odometer_median\"</span>: <b>integer</b>,\n <span>\"odometer_avg\"</span>: <b>integer</b>,\n <span>\"odometer_above\"</span>: <b>integer</b>,\n <span>\"odometer_stdev\"</span>: <b>integer</b>\n },\n <span>\"north_america\"</span>: {\n <span>\"odometer_count\"</span>: <b>integer</b>,\n <span>\"odometer_unit\"</span>: <i>string</i>,\n <span>\"odometer_below\"</span>: <b>integer</b>,\n <span>\"odometer_median\"</span>: <b>integer</b>,\n <span>\"odometer_avg\"</span>: <b>integer</b>,\n <span>\"odometer_above\"</span>: <b>integer</b>,\n <span>\"odometer_stdev\"</span>: <b>integer</b>\n }\n },\n <span>\"records\"</span>: [\n {\n <span>\"market\"</span>: <i>string|null</i>,\n <span>\"continent\"</span>: <i>string|null</i>,\n <span>\"price\"</span>: <b>integer</b>,\n <span>\"price_currency\"</span>: <i>string</i>,\n <span>\"odometer\"</span>: <b>integer</b>,\n <span>\"odometer_unit\"</span>: <i>string</i>\n },\n {\n <span>\"market\"</span>: <i>string|null</i>,\n <span>\"continent\"</span>: <i>string|null</i>,\n <span>\"price\"</span>: <b>integer</b>,\n <span>\"price_currency\"</span>: <i>string</i>,\n <span>\"odometer\"</span>: <b>integer</b>,\n <span>\"odometer_unit\"</span>: <i>string</i>\n }\n ]\n}</pre>\n"
examples:
Success response:
value: '{"vin":"XXXDEF1GH23456789","price":0,"price_currency":"USD","balance":{"API Decode":218,"API Stolen Check":205,"API Vehicle Market Value":205,"API OEM VIN Lookup":0},"vehicle":{"vehicle_id":4599,"make":"Toyota","make_id":108,"model":"Yaris","model_id":18753,"model_year":2012,"transmission":"Automatic","transmission_id":2,"engine_displacement_ccm":1497,"fuel_type_primary":"Gasoline","fuel_type_primary_id":8,"make_logo":"https://vindecoder.eu/img/make/toyota.svg"},"period":{"from":"2022-11-14","to":"2023-11-14"},"market_price":{"europe":{"price_count":29,"price_currency":"EUR","price_below":5000,"price_median":6700,"price_avg":6774,"price_above":8500,"price_stdev":1267},"north_america":{"price_count":13,"price_currency":"USD","price_below":6700,"price_median":8500,"price_avg":9065,"price_above":12800,"price_stdev":1823}},"market_odometer":{"europe":{"odometer_count":29,"odometer_unit":"km","odometer_below":62400,"odometer_median":88586,"odometer_avg":96812,"odometer_above":130000,"odometer_stdev":50081},"north_america":{"odometer_count":13,"odometer_unit":"mi","odometer_below":26400,"odometer_median":41731,"odometer_avg":40395,"odometer_above":56700,"odometer_stdev":15815}},"records":[{"market":"DE","continent":"EU","price":4799,"price_currency":"EUR","odometer":280000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":4895,"price_currency":"EUR","odometer":130000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":4900,"price_currency":"EUR","odometer":150000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":4990,"price_currency":"EUR","odometer":148583,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":5250,"price_currency":"EUR","odometer":149099,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":5900,"price_currency":"EUR","odometer":62400,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":5900,"price_currency":"EUR","odometer":99800,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":5900,"price_currency":"EUR","odometer":103000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":5999,"price_currency":"EUR","odometer":138500,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6190,"price_currency":"EUR","odometer":29000,"odometer_unit":"km"},{"market":"US","continent":"NA","price":6410,"price_currency":"USD","odometer":54370,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":6499,"price_currency":"EUR","odometer":68218,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6500,"price_currency":"EUR","odometer":122000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6500,"price_currency":"EUR","odometer":128300,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6699,"price_currency":"EUR","odometer":68890,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6700,"price_currency":"EUR","odometer":85000,"odometer_unit":"km"},{"market":"US","continent":"NA","price":6740,"price_currency":"USD","odometer":61746,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":6800,"price_currency":"EUR","odometer":99928,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6950,"price_currency":"EUR","odometer":75000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6990,"price_currency":"EUR","odometer":120464,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":6999,"price_currency":"EUR","odometer":87818,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7290,"price_currency":"EUR","odometer":99000,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7300,"price_currency":"EUR","odometer":45500,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7349,"price_currency":"EUR","odometer":102458,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7590,"price_currency":"EUR","odometer":81645,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7980,"price_currency":"EUR","odometer":53128,"odometer_unit":"km"},{"market":"DE","continent":"EU","price":7990,"price_currency":"EUR","odometer":44545,"odometer_unit":"km"},{"market":"US","continent":"NA","price":8130,"price_currency":"USD","odometer":37624,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":8130,"price_currency":"USD","odometer":41731,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":8199,"price_currency":"EUR","odometer":88586,"odometer_unit":"km"},{"market":"US","continent":"NA","price":8450,"price_currency":"USD","odometer":50095,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":8490,"price_currency":"EUR","odometer":68000,"odometer_unit":"km"},{"market":"US","continent":"NA","price":8500,"price_currency":"USD","odometer":54370,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":8500,"price_currency":"USD","odometer":56700,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":8550,"price_currency":"USD","odometer":47491,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":8700,"price_currency":"EUR","odometer":50000,"odometer_unit":"km"},{"market":"US","continent":"NA","price":9610,"price_currency":"USD","odometer":24463,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":9620,"price_currency":"USD","odometer":6761,"odometer_unit":"mi"},{"market":"DE","continent":"EU","price":10199,"price_currency":"EUR","odometer":28699,"odometer_unit":"km"},{"market":"US","continent":"NA","price":10640,"price_currency":"USD","odometer":32821,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":11750,"price_currency":"USD","odometer":30568,"odometer_unit":"mi"},{"market":"US","continent":"NA","price":12820,"price_currency":"USD","odometer":26396,"odometer_unit":"mi"}]}'
When you use an incorrect API key:
value: '{"error":true,"message":"Unknown API Key"}'
When you use an incorrect control sum:
value: '{"error":true,"message":"Invalid Control sum"}'
When you run out of prepaid lookups:
value: '{"error":true,"message":"Not Enough Lookups"}'
When you reach a limit of requests per minute:
value: '{"error":true,"message":"You''ve reached limit of 60 requests per minute. Contact us at info@vincario.com for a customized limit."}'
When VIN is not recognized:
value: '{"error":true,"message":"Not recognized"}'
When we are not able to provide data:
value: '{"error":true,"message":"Insufficient statistical data."}'
Query parameter 'odometer' has no value:
value: '{"error":true,"message":"Odometer value cannot be empty"}'
Query parameter 'odometer' value must be greater than or equal to 0:
value: '{"error":true,"message":"Odometer value must be greater than or equal to 0"}'
Query parameter 'odometer_unit' has non valid value.:
value: '{"error":true,"message":"Invalid odometer_unit. Supported values are km, mi"}'
'404':
description: The route could not be found.
'500':
description: Unexpected internal errors.
externalDocs:
description: Vincario API Documentation
url: https://vincario.com/api-docs/3.2/