License Plate
GET /api/license-plate
Section titled “GET /api/license-plate”Returns vehicle information and the Vehicle Identification Number (VIN) associated with a license
plate. Supported countries each have different data availability — some values may be returned as
null depending on the country requested.
Supported Countries
Section titled “Supported Countries”US, CA, AU, UK, FR, IE, NZ, MX, CZ, PT
Parameters
Section titled “Parameters”| Parameter | Required | Description |
|---|---|---|
country_code | Yes | ISO 3166-1 alpha-2 country code (e.g. US, CA, UK) |
lookup | Yes | The license plate (or registration number) to look up |
region | Conditional | Province, state, or region — required for US, CA, and AU |
Testing
Section titled “Testing”Append #TEST to any plate to receive test data without consuming API credits:
- US:
/api/license-plate?country_code=US®ion=NY&lookup=830UNL#TEST - Canada:
/api/license-plate?country_code=CA®ion=BC&lookup=#TEST - UK:
/api/license-plate?country_code=UK&lookup=#TEST-LD59YMR
Sample Request
Section titled “Sample Request”curl "https://carapi.app/api/license-plate?country_code=US®ion=NY&lookup=830UNL%23TEST" \ -H "Authorization: Bearer YOUR_JWT_TOKEN_HERE"const params = new URLSearchParams({ country_code: 'US', region: 'NY', lookup: '830UNL#TEST'});
const response = await fetch( `https://carapi.app/api/license-plate?${params}`, { headers: { 'Authorization': `Bearer ${jwt}` } });
const data = await response.json();console.log('License plate lookup:', data);import requests
headers = { 'Authorization': f'Bearer {jwt}'}
params = { 'country_code': 'US', 'region': 'NY', 'lookup': '830UNL#TEST'}
response = requests.get( 'https://carapi.app/api/license-plate', headers=headers, params=params)
data = response.json()print('License plate lookup:', data)use GuzzleHttp\Client;
$client = new Client();
$response = $client->get('https://carapi.app/api/license-plate', [ 'headers' => [ 'Authorization' => 'Bearer YOUR_JWT_TOKEN_HERE', ], 'query' => [ 'country_code' => 'US', 'region' => 'NY', 'lookup' => '830UNL#TEST', ],]);
$data = json_decode($response->getBody(), true);print_r($data);$url = 'https://carapi.app/api/license-plate?' . http_build_query([ 'country_code' => 'US', 'region' => 'NY', 'lookup' => '830UNL#TEST',]);
$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_JWT_TOKEN_HERE',]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);print_r($data);Sample Response
Section titled “Sample Response”{ "year": 2009, "make": "Kia", "model": "Rio Base / LX / SX", "body": "Sedan 4D", "vin": "KNADE223696445551", "engine_description": "1.6L I4 MPI", "assembled_in": "South Korea"}Best Practices
Section titled “Best Practices”- Always test first: Use the
#TESTsuffix to verify your integration before going live. - Region is required for US, CA, AU: Omitting it for these countries will return a 400 error.