A package to consume the National Highway Traffic Safety Administration (NHSTA) Vehicles API for decoding VINs and pulling lists of Vehicle Year, Make and Model.
Via Composer
$ composer require biegalski-llc/nhtsa-vehicle-api
All methods return an alphabetized array of data.
use BiegalskiLLC\NHTSAVehicleAPI\VehicleApi;
$vehicles = new VehicleApi();
This method will allow you to pull a generated list of years. It accepts a parameter for the earliest year you want to start at and runs up to two years past the current year (to match some make/models are release schedules).
$vehicles->listYears();
$vehicles->listYears(1990);
$vehicles->listYears(1960);
This method will allow you to pull a live listing of all vehicle makes from the NHSTA Vehicles API.
The data will include the Make Name and Make ID.
$vehicles->listAllMakes();
Considering the make list is extremely extensive from the NHSTA Vehicles API we have curated our own pre-loaded list of commonly used makes in the United States.
The data will include the Make Name and Make ID.
It defaults to a mix of car/truck makes and motorcycle/scooter makes. It accepts an optional parameter to only pull car/truck or motorcycle/scooter makes as well.
$vehicles->listPreloadedMakes();
$vehicles->listPreloadedMakes('car/truck');
$vehicles->listPreloadedMakes('motorcycle/scooter');
You can review the default list at: biegalski-llc/nhtsa-vehicle-api/config/VehicleMakes/preloadedMakeList.php
You can review the car/truck make list at: biegalski-llc/nhtsa-vehicle-api/config/VehicleMakes/preloadedCarMakeList.php
You can review the motorcycle/scooter make list at: biegalski-llc/nhtsa-vehicle-api/config/VehicleMakes/preloadedMotoMakeList.php
Considering the make list is extremely extensive from the NHSTA Vehicles API we have another method which accepts an array parameter of all of the makes you would like to pull. The accepted list should be an array of Make ID's from the NHSTA Vehicles API.
The data will include the Make Name and Make ID.
$vehicles->listAcceptedListMakes([6124,9172]);
This method will allow you to pull a live listing of all vehicle models for a vehicle make. It requires a Make ID integer as a parameter.
The data will include the Make Name, Make ID, Model Name and Model ID.
$vehicles->listModelsByMake(460);
This method will allow you to pull a live listing of all vehicle models for a vehicle make by year. It requires a Make ID integer and Year integer as parameters.
The data will include the Make Name, Make ID, Model Name and Model ID.
$vehicles->listModelsByMakeYear(460, 2020);
This method will allow you to decode a VIN to get information on that particular vehicle.
$vehicles->decodeVin('1J4GZ58S7VC697710');
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email packages@biegalski-llc.com instead of using the issue tracker.
- Michael Biegalski - Biegalski LLC
- Franco Petitfour - Added curated motorcycle/scooter list
The MIT License (MIT). Please see License File for more information.