MENU navbar-image

Introduction

Welcome to the API documentation for PlateToVIN, a supplier of US license plate to VIN data.

This documentation aims to provide all the information you need to work with our API.

Base URL

https://platetovin.com

Authenticating requests

This API is authenticated by sending a Authorization header with the value "{Your API Key}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and viewing your account settings. If needed, you can also regenerate your API key from there.

Endpoints

US License Plate to VIN

requires authentication

This endpoint converts a single US license plate with a state into a VIN.

Example request:
curl --request POST \
    "https://platetovin.com/api/convert" \
    --header "Authorization: YOUR API KEY" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"state\": \"\",
    \"plate\": \"id\"
}"
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://platetovin.com/api/convert',
    [
        'headers' => [
            'Authorization' => 'YOUR API KEY',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'state' => '',
            'plate' => 'id',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://platetovin.com/api/convert"
);

const headers = {
    "Authorization": "YOUR API KEY",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "state": "",
    "plate": "id"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json

url = 'https://platetovin.com/api/convert'
payload = {
    "state": "",
    "plate": "id"
}
headers = {
  'Authorization': 'YOUR API KEY',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, Successful lookup):


{
    "success": true,
    "vin": {
        "vin": "4JGBB8GB9BA648907",
        "fuel": "Gasoline",
        "make": "Mercedes-Benz",
        "name": "2011 Mercedes-Benz M-Class",
        "trim": "ML 350",
        "year": "2011",
        "color": {
            "name": "Silver",
            "abbreviation": "SIL"
        },
        "model": "M-Class",
        "style": "SUV",
        "engine": "3.5L V6 DOHC 24V",
        "driveType": "AWD",
        "transmission": "Automatic"
    }
}
 

Request      

POST api/convert

Body Parameters

state  string  

Must be at least 2 characters. Must not be greater than 2 characters.

plate  string  

Response

Response Fields

success  boolean  

If the API call was successful or not

vin  object  

The lookup result, containing the VIN and a basic VIN decode.

Advanced VIN Lookup

requires authentication

This endpoint provides a more in-depth VIN lookup than our standard VIN lookup.

Example request:
curl --request POST \
    "https://platetovin.com/api/vin-lookup" \
    --header "Authorization: YOUR API KEY" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"vin\": \"zeal\"
}"
$client = new \GuzzleHttp\Client();
$response = $client->post(
    'https://platetovin.com/api/vin-lookup',
    [
        'headers' => [
            'Authorization' => 'YOUR API KEY',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'json' => [
            'vin' => 'zeal',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://platetovin.com/api/vin-lookup"
);

const headers = {
    "Authorization": "YOUR API KEY",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "vin": "zeal"
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());
import requests
import json

url = 'https://platetovin.com/api/vin-lookup'
payload = {
    "vin": "zeal"
}
headers = {
  'Authorization': 'YOUR API KEY',
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

response = requests.request('POST', url, headers=headers, json=payload)
response.json()

Example response (200, Successful lookup):


{
    "success": true,
    "data": {
        "year": "2011",
        "make": "Jeep",
        "model": "Compass",
        "trim": "Base - 4dr SUV",
        "trim_description": "4dr SUV (2.0L 4cyl 5M)",
        "body_type": "SUV",
        "msrp": 19295,
        "base_invoice": 18962,
        "domestic_import": "Domestic",
        "manufacturer_country": "United States",
        "platform_code": "MK49",
        "engine_drivetrain": {
            "cylinder_layout": "I4",
            "engine_displacement": 2,
            "engine_type": "gas",
            "fuel_type": "regular unleaded",
            "valves": 16,
            "valve_timing": "Variable",
            "cam_type": "Double overhead cam (DOHC)",
            "drivetrain": "front wheel drive",
            "transmission": "5-speed manual"
        },
        "performance": {
            "horsepower": 158,
            "horsepower_rpm": 6400,
            "torque": 141,
            "torque_rpm": 5000,
            "zero_to_sixty_time": 8.79
        },
        "economy": {
            "fuel_tank_size": 13.6,
            "mpg_city": 23,
            "mpg_highway": 29,
            "mpg_combined": 26,
            "range_city": 312,
            "range_highway": 394,
            "range_combined": 349
        },
        "body": {
            "gross_weight": 4435,
            "curb_weight": null,
            "length": 173,
            "width": 69,
            "height": 65,
            "wheelbase": 103,
            "ground_clearance": 8,
            "turning_circle": 35,
            "doors": null,
            "seats": 5
        },
        "warranty": {
            "basic": "3 yr./ 36000 mi.",
            "drivetrain": "5 yr./ 100000 mi.",
            "roadside": null,
            "rust": null
        },
        "rating": {
            "rating": null,
            "rating_driving": null,
            "rating_comfort": null,
            "rating_interior": null,
            "rating_technology": null,
            "rating_storage": null,
            "rating_value": null
        },
        "colors": {
            "exterior": {
                "Brilliant Black Crystal Pearlcoat": "0,0,0",
                "Bright White Clearcoat": "255,255,255",
                "Bright Silver Metallic Clearcoat": "225,225,235",
                "Deep Cherry Red Crystal Pearlcoat": "141,25,25",
                "Mineral Gray Metallic Clearcoat": "64,64,64",
                "Blackberry Pearlcoat": "38,38,50"
            },
            "interior": {
                "Dark Slate Gray/Light Pebble Beige, premium cloth": "39,27,23",
                "Dark Slate Gray, premium cloth": "81,77,78"
            }
        },
        "features": {
            "suspension": [
                "MacPherson strut front suspension",
                "Front independent suspension",
                "Multi-link rear suspension",
                "Front and rear stabilizer bar"
            ],
            "front_seats": [
                "4 -way manual driver seat adjustments",
                "4 -way manual passenger seat adjustment",
                "Bucket front seats",
                "Premium cloth"
            ],
            "rear_seats": [
                "Rear ventilation ducts",
                "Split-folding rear seatback"
            ],
            "features": [
                "1 one-touch power windows",
                "Remote keyless power door locks",
                "Heated mirrors",
                "Power mirrors"
            ],
            "convenience": [
                "Cruise control",
                "Front and rear cupholders",
                "Front and rear door pockets",
                "Power steering",
                "Retained accessory power",
                "Tilt-adjustable steering wheel",
                "Cruise controls on steering wheel"
            ],
            "comfort": [
                "Cargo area light",
                "Front reading lights",
                "Interior air filtration",
                "Air conditioning",
                "Dual vanity mirrors",
                "Rear floor mats"
            ],
            "entertainment": [],
            "glass": [
                "Privacy glass",
                "Rear defogger",
                "Rear window wiper",
                "Roof rack",
                "Variable intermittent wipers"
            ],
            "body": [],
            "wheels": [
                "Alloy wheels",
                "Inside mounted spare tire",
                "Temporary spare tire",
                "17 x 6.5 in. wheels",
                "All season tires",
                "P215/60R17 tires",
                "Steel spare wheel"
            ],
            "safety": [
                "2 front headrests",
                "2 rear headrests",
                "Child seat anchors",
                "Electronic brakeforce distribution",
                "Engine immobilizer",
                "Front and rear head airbags",
                "Front fog/driving lights",
                "Front seatbelt pretensioners",
                "Stability control",
                "Tire pressure monitoring",
                "Traction control",
                "4-wheel ABS",
                "Emergency braking assist",
                "Passenger airbag occupant sensing deactivation",
                "Passenger head restraint whiplash protection system",
                "Rear center 3-point belt",
                "Rear door child safety locks",
                "Rear integrated headrests",
                "Ventilated front disc / rear drum brakes",
                "Supplemental Front Seat Side Airbags"
            ],
            "packages": [
                "Quick Order Package 2BA",
                "Sport Quick Order Package 24A",
                "Latitude Quick Order Package 24B",
                "Latitude Quick Order Package 26B",
                "Security and Cargo Convenience Group",
                "Sport Quick Order Package 26A",
                "Sun/Sound Group",
                "Sport Quick Order Package 25A"
            ],
            "exterior_packages": [
                "P215/65R17 OWL All-Terrain Tires",
                "Trailer Tow Prep Group"
            ],
            "interior_packages": [
                "Media Center 430",
                "Media Center 230",
                "Uconnect Voice Command w/Bluetooth",
                "Premium Sound Group",
                "Sirius Satellite Radio",
                "Smoker's Group"
            ],
            "mechanical_packages": [
                "Engine Block Heater"
            ]
        }
    }
}
 

Request      

POST api/vin-lookup

Body Parameters

vin  string  

Must be at least 15 characters. Must not be greater than 17 characters.

Response

Response Fields

success  boolean  

If the API call was successful or not

data  object  

The lookup result, containing the data about the VIN.