The Vehicle Logic API (VL API) is a web API which provides live access to Vehicle Logic's tyre, wheel, and vehicle data.
A Vehicle Logic subscription is required to access the VL API. To purchase a subscription, or to request a trial please contact us.
This page provides a high level overview of the API and its usage, for detailed information refer to the API reference.
Updates made to the Vehicle Logic API are documented in our Changelog.
Tyre products are organised by:
/tyres/brands
:
Get a list of available brands.
/tyres/patterns
:
Get a list of available patterns.
/tyres/patterns/details
:
Get a list of available patterns, includes each available size for each pattern.
Wheel products are organised by:
A custom wheel is a wheel with no predefined fitment data (PCD, StudCount, Offset, etc.) as they are custom made to the customer's specifications.
/wheels/brands
:
Get a list of available wheel brands.
/wheels/wheels
:
Get a list of available wheel style/finish combinations.
/wheels/wheels/details
:
Get a list of available wheel style/finish combinations. Includes each available size
for each wheel style/finish.
/wheels/wheels/custom
:
Get a list of custom available wheel style/finish combinations.
Vehicles are organised by:
/vehicles/makes:
Get a list of available makes. Includes the date ranges each make was active.
/vehicles/models:
Get a list of available models optionally filtered by model year and make. Includes the
date ranges each model was active.
/vehicles/vehicles:
Get a list of available vehicle series.
/vehicles/vehicles/[vehicleId]:
Get a detailed information about a given vehicle series.
Please Note : Pre-1990 vehicles are not fully researched, our full dataset may not be available. If you require these vehicles, please reach out to us for more details.
Each vehicle has a single OE fitment associated with it. However, each vehicle may also be
associated with a number of alternate fitments. These alternate fitments can be listed using
/vehicles/alternativeFitments/[vehicleId].
Alternate fitments are separated into 3 different categories:
/vehicles/alternativeFitments/[vehicleId]:
Get alternate fitments for a given vehicle.
/vehicles/vehicles/details/[vehicleId]:
Get detailed vehicle data, including the standard OE fitment.
Vehicle Logic matches each vehicle to the set of tyres and wheels that it will fit according to National Code of Practice. Given a vehicle id, the API can be used to find a list of all matching tyre and wheel products.
Please note: In some cases when matching tyres to a vehicle, the original
(OE Standard) wheels rim width may not be compatible with some matched tyres. For example a
LT tyre can have restricted rim width range compared to the equivalent sized passenger tyre.
These matches can be excluded with the RequireOERimWidthCompatible parameter on relevant
endpoints. Additionally the OERimWidthCompatible property in the output for these endpoints
can be checked to determine compatibility.
Please note: In order to supply the most accurate results we can, some wheel fitments may be excluded from results if no tyres can legally fit that wheel on that vehicle.
/vehicles/[vehicleId]/tyres/patterns:
Get a list of tyres which match a given vehicle.
/vehicles/[vehicleId]/wheels:
Get a list of wheels which match a given vehicle.
The API paginates results where applicable. Pagination is controlled by the parameters PerPage
and Page. Paginated requests will include in the response the requested PerPage
and Page values. Additionally, a Total value will be included.
This is the total number of items available in the full result set.
Some endpoints can be filtered through the addition of query string parameters. Refer to the
reference to see all available
filters. Additionally, some API endpoints have an
IncludeValidFilterValuesInResult parameter. When set to true, the response will
contain the set of results for filterable values that appear across the whole result set
(ignoring pagination). This is useful for generating UI allowing users to further
refine/filter the existing results.
Tyre sizes are made up of three components, section width, aspect ratio, and rim diameter. The API provides endpoints to query for the available values for each of these fields individually.
/tyres/sizes/sectionWidths:
Get a list of section widths on available tyres. Optionally filtered by aspect ratio and
rim diameter.
/tyres/sizes/aspectRatios:
Get a list of aspect ratios on available tyres. Optionally filtered by rim diameter and
section width.
tyres/sizes/rimdiameters:
Get a list of rim diameters on available tyres. Optionally filtered by aspect ratio and
section width.
Each of these endpoints can be filtered to only show values that are associated with a given
section width, aspect ratio, and/or rim diameter. For example tyres/sizes/sectionWidths
can be filtered such that it only displays section widths that appear on tyres with an
aspect ratio of 35.
These endpoints facilitate building interfaces where a single tyre size is selected by gradually narrowing down all the options, one tyre size parameter at a time. When building such interfaces, it is recommended to select the size parameters in the following order: section width, aspect ratio, rim diameter. This is because selecting in this order narrows down the available options the fastest.
When implementing interfaces to select a vehicle, it is best to break it up into 4 steps:
/vehicles/makes endpoint.
/vehicles/models
endpoint. This should be filtered by make and year to reduce the number of options.
/vehicles/vehicles
endpoint. This should be filtered by make, model, and year to reduce the number of
options.
Steps 2 and 3 can executed in either order. Selecting year first will allow the number of
available model options to be narrowed down significantly. Both
/vehicles/makes
and /vehicles/models
returns the available year ranges for each make/model.
This can be used to narrow down the number of year options.
How you choose to display tyre and wheel searches is up to you.
See below for some real world examples:
We also have an example wheel selector you can download from the examples page.
Many of the VL API endpoints include ModifiedBefore and ModifiedAfter filters (e.g. Tyres patterns request.) These filters allow you to retrieve data that has changed within a specific time frame. This is particularly useful for keeping a database up to date by regularly incorporating the latest data from the VL API.
It's important to note that data may be marked as modified even if it appears unchanged in the API. This can occur where an entity has been modified, but the changes are not visible through endpoint being used. To ensure data integrity, we recommend designing any processes that import data incrementally from the API to be idempotent.
The Vehicle Logic API contains an LPN (License Plate Number) search to retrieve details about a vehicle, or find tyres or wheels suitable for that vehicle.
The LPN search requires an additional license to use. Please contact us at info@vldata.com.au if you are interested in using the LPN search features.
To protect against abuse and to avoid excess data charges, the LPN search implements daily
and hourly rate limiting per account. Upon applying for an account, you will be asked to
specify your preferred limits per day and per hour. These limits can be changed at any time
per your request.
An additional limit of 25 calls per IP address per 15 minutes is applied.
Any IP address which surpasses this limit will be temporarily blocked. If an IP address
recieves 3 temporary blocks in total, it will be permanently blocked.
It is your responsibility as the client to supply an accurate user IP address for these rate limits to be applied correctly.
In the case that an account level block (either daily or hourly) or a temporary IP level block is in place, LPN related requests will return a 429 TOO MANY REQUESTS status code. Blocked requests will only return usage info, without LPN data. Permanent IP blocks behave similarly, however they will return a 403 FORBIDDEN status code.
It is also highly recommended you implement a captcha or similar spam-prevention measure.
Caching policy: In order to reduce unnecessary costs, you are permitted to cache LPN search results for a maximum of 14 days.
See the LPN search reference here.
| Plate | State | Vehicle |
|---|---|---|
| VL_TEST_1 | NSW | BMW F30 LCI 3 Series 320d 4D Sedan - 8sp auto 2.0L 4cyl T/Diesel MY17 |
| VL_TEST_2 | NSW | BMW F82 M4 2D Coupe - 7sp M DCT 3.0L 6cyl T/Petrol MY14 |
| VL_TEST_3 | NSW | Holden RG Colorado 4x4 LT 4D Crew Cab Pick-Up - 6sp man 2.8L 4cyl T/Diesel MY19 |
| VL_TEST_4 | NSW | Toyota AXAH54R RAV4 AWD GX Hybrid 4D SUV - cvt 2.5L 4cyl Petrol MY19 |
| VL_TEST_5 | NSW | Mercedes-Benz W177 A-Class A 180 4D Hatch - 7sp auto 1.3L 4cyl T/Petrol MY19 |
| VL_TEST_6 | NSW | Toyota GUN126R HiLux 4x4 SR5 4D Double Cab Pick-Up - 6sp man 2.8L 4cyl T/Diesel MY18 |
See below for some real world examples:
If you have any questions or require assistance with using this API, you can contact us at info@vldata.com.au.