Vincario VIN Decoder API

Decode a VIN into a vehicle specification (VIN Decode) and list which fields can be decoded for a VIN (VIN Decode Info).

Operations 2

GET /3.2/{API_KEY}/{CONTROL_SUM}/decode/info/{VIN}.{format} VIN Decode Info #
GET /3.2/{API_KEY}/{CONTROL_SUM}/decode/{VIN}.{format} VIN Decode #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vincario:vincario-vin-decoder-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vincario-vin-decoder-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VIN Decoder 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: VIN Decoder
paths:
  /3.2/{API_KEY}/{CONTROL_SUM}/decode/info/{VIN}.{format}:
    get:
      operationId: VIN_Decode_Info
      tags:
      - VIN Decoder
      summary: VIN Decode Info
      description: VIN Decode Info returns an object with decode array of strings. Each string represents a 'variable' label that is available for given VIN when you do a 'VIN Decode' request. See variable labels that are returned here. This request is free.
      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>info</strong>'', API key, and secret key, concatenated in that order.<br/> <i>For instance</i>: <code>$controlSum = substr(sha1("{$vin}|info|{$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
      responses:
        '200':
          description: 'A successful response returns an object with decode array of strings. Each string represents a ''variable'' label that is available for given VIN when you do a ''VIN Decode'' request. See the <a href="https://vincario.com/api-docs/3.2/#model-VIN-Decode-Variable-Labels-List">VIN Decode Variable Labels List</a> for a detailed list of variables, their data types, and examples.

            '
          content:
            application/json:
              schema:
                description: "<pre>{\n  <span>\"price\":</span> <b>float</b>,\n  <span>\"price_currency\":</span> <i>string</i>,\n  <span>\"decode\":</span> <b>string</b>[]\n}</pre>\n"
              examples:
                Success response:
                  value: '{"price":0,"price_currency":"USD","decode":["VIN","Vehicle ID","Make","Manufacturer","Plant Country","Product Type","Manufacturer Address","Check Digit","Valid Check Digit","Check Digit Validity","Sequential Number","Body","Engine Cylinders","Engine Displacement (ccm)","Number of Doors","Engine Model","Engine Power (kW)","Fuel Type - Primary","Model","Model Year","Plant City","Series","Transmission","Engine (full)","Number of Seats","Engine Cylinders Position","Drive","Length (mm)","Height (mm)","Width (mm)","Fuel System","Engine Torque (RPM)","Wheelbase (mm)","Engine Position","Fuel Capacity (l)","Front Breaks","Rear Breaks","Valves per Cylinder","Track Front (mm)","Track Rear (mm)","Max Speed (km/h)","ABS","Wheel Size","Acceleration 0-100 km/h (s)","Engine Compression Ratio","Steering Type","Engine Stroke (mm)","Engine Cylinder Bore (mm)","Minimum Trunk Capacity (l)","Max Weight (kg)","Production Stopped","Production Started","Front Suspension","Rear Suspension","Fuel Consumption Urban (l/100km)","Fuel Consumption Extra Urban (l/100km)","Fuel Consumption Combined (l/100km)","Number of Gears","Valve Train","Power Steering","Maximum Trunk Capacity (l)","Wheel Rims Size","Engine Turbine","Minimum Turning Circle (m)","Emission Standard","CO2 Emission (g/km)","Drag Coefficient","Permitted trailer load without brakes (kg)","Width including mirrors (mm)","Max roof load (kg)","Permitted towbar download (kg)","Rear Overhang (mm)","Front Overhang (mm)","Permitted trailer load with brakes 8% (kg)","Engine Oil Capacity (l)","Engine Coolant (l)","Engine Max Speed (rpm)","Wheelbase Array (mm)","Wheel Size Array","Wheel Rims Size Array","Price","Odometer (km)","Make Logo"]}'
                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 VIN can't be decoded:
                  description: '##### **char**: VIN contains an invalid character (I, O, Q)


                    ##### **length**: VIN length is not 17 characters


                    ##### **invalid**: VIN is not valid'
                  value: '{"error": true,"message": "invalid","reasons": ["char","invalid","length"]}'
        '404':
          description: The route could not be found.
        '500':
          description: Unexpected internal errors.
  /3.2/{API_KEY}/{CONTROL_SUM}/decode/{VIN}.{format}:
    get:
      operationId: VIN_Decode
      tags:
      - VIN Decoder
      summary: VIN Decode
      description: VIN Decode returns an object with price, balance and decode array of objects with 'label' and 'value' properties. Each decode object represents a 'variable'. See variable labels that are returned here.
      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>decode</strong>'', API key, and secret key, concatenated in that order.<br/> <i>For instance</i>: <code>$controlSum = substr(sha1("{$vin}|decode|{$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
      responses:
        '200':
          description: 'A successful response includes three main components: "price" and "price_currency" indicate the cost of the request, "balance" details remaining credits for various API services, and "decode" presents a detailed list of vehicle attributes. Each attribute in the decode array is represented by a label and its associated value, offering in-depth vehicle information. See the <a href="https://vincario.com/api-docs/3.2/#model-VIN-Decode-Variable-Labels-List">VIN Decode Variable Labels List</a> for a detailed list of variables, their data types, and examples.

            '
          content:
            application/json:
              schema:
                description: "<pre>{\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>\"decode\"</span>: [\n    {\n        <span>\"label\"</span>: <b>string</b>,\n        <span>\"value\"</span>: <b>string|integer|float|array</b>\n    },\n    <b>...</b>\n  ]\n}</pre>\n"
              examples:
                Success response:
                  value: '{"price":0,"price_currency":"CZK","balance":{"API Decode":17,"API Stolen Check":4,"API Vehicle Market Value":4},"decode":[{"label":"VIN","value":"WF05XXGC055870807"},{"label":"Vehicle ID","value":1619},{"label":"Make","value":"Ford","id":30},{"label":"Model","value":"Focus","id":17779},{"label":"Model Year","value":2005},{"label":"Product Type","value":"Car","id":4},{"label":"Body","value":"Hatchback\/Liftback\/Notchback","id":5},{"label":"Series","value":"Mk2 (2004-2011)"},{"label":"Drive","value":"Front-wheel drive","id":1},{"label":"Transmission","value":"Manual\/Standard","id":6},{"label":"Number of Gears","value":5},{"label":"Emission Standard","value":"Euro 4"},{"label":"Manufacturer","value":"Ford Werke AG"},{"label":"Manufacturer Address","value":"Koeln-Niehl, Germany"},{"label":"Plant Country","value":"Germany"},{"label":"Average CO2 Emission (g\/km)","value":152.21},{"label":"Number of Axles","value":2},{"label":"Number of Doors","value":4},{"label":"Number of Seats","value":"5"},{"label":"Steering Type","value":"Steering rack and pinion"},{"label":"Wheel Size","value":"195\/65R15*205\/50R17*205\/55R16"},{"label":"Wheel Size Array","value":["195\/65R15*205\/50R17*205\/55R16"]},{"label":"Wheelbase (mm)","value":2640},{"label":"Wheelbase Array (mm)","value":[2640]},{"label":"Height (mm)","value":1497},{"label":"Length (mm)","value":4342},{"label":"Width (mm)","value":1840},{"label":"Track Front (mm)","value":1535},{"label":"Track Rear (mm)","value":1531},{"label":"Max Speed (km\/h)","value":190},{"label":"Weight Empty (kg)","value":1249},{"label":"Max Weight (kg)","value":1730},{"label":"Max roof load (kg)","value":75},{"label":"Permitted trailer load without brakes (kg)","value":620},{"label":"ABS","value":1},{"label":"Check Digit","value":"0"},{"label":"Sequential Number","value":"870807"},{"label":"Make Logo","value":"https://vindecoder.eu/img/make/ford.svg"}]}'
                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 VIN can't be decoded:
                  description: '##### **char**: VIN contains an invalid character (I, O, Q)


                    ##### **length**: VIN length is not 17 characters


                    ##### **invalid**: VIN is not valid'
                  value: '{"error": true,"message": "invalid","reasons": ["char","invalid","length"]}'
        '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/