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-oem-service-history-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: 3.2.0
info:
title: VIN Decoder OEM Service History 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: OEM Service History
paths:
/3.2/{API_KEY}/{CONTROL_SUM}/oem/history/{VIN}.{format}:
get:
operationId: OEM_Service_History
tags:
- OEM Service History
summary: OEM Service History
description: The OEM Service History service performs an API query to the manufacturer's database and returns a list of recorded service visits for the vehicle, including dates, mileage, location, and service actions performed.
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>oem-history</strong>'', API key, and secret key, concatenated in that order.<br/> <i>For instance</i>: <code>$controlSum = substr(sha1("{$vin}|oem-history|{$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: 'Returns an object containing the VIN, request price, remaining credit balance, and a history array of service visit events.
'
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>\"history\"</span>: [\n {\n <span>\"date\"</span>: <i>string</i>,\n <span>\"mileage\"</span>: {\n <span>\"unit\"</span>: <i>string</i>,\n <span>\"value\"</span>: <b>integer</b>\n },\n <span>\"location\"</span>: <i>object|false</i>,\n <span>\"serviceActions\"</span>: [\n {\n <span>\"type\"</span>: <i>string</i>,\n <span>\"description\"</span>: <i>string</i>\n }\n ],\n <span>\"type\"</span>: <i>string</i>\n }\n ]\n}</pre>\n"
examples:
Success response:
value: '{"vin":"XXXDEF1GH23456789","price":0,"price_currency":"USD","balance":{"API VIN Decode":31,"API Stolen Check":498,"API Vehicle Market Value":9985,"API OEM VIN Lookup":3,"API OEM Service History":50,"API OCR VIN Scanner":0},"history":[{"date":"2021-03-12","mileage":{"unit":"km","value":12450},"location":{"name":"Authorized Service Center","city":"Prague","country":"CZ"},"serviceActions":[{"type":"maintenance","description":"Oil and filter change"}],"type":"serviceVisit"},{"date":"2021-09-28","mileage":{"unit":"km","value":24890},"location":{"name":"Authorized Service Center","city":"Prague","country":"CZ"},"serviceActions":[{"type":"inspection","description":"Annual vehicle inspection"},{"type":"maintenance","description":"Brake fluid replacement"}],"type":"serviceVisit"}]}'
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 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"]}'
When VIN is not recognized:
value: '{"error":true,"message":"Not recognized"}'
When you need to accept new Terms and Conditions:
value: '{"error":true,"message":"You need to Login and confirm new Terms and Conditions at https://vincario.com/terms-and-conditions/."}'
'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/