TipsTrade.UkVehicleData
8.0.1
dotnet add package TipsTrade.UkVehicleData --version 8.0.1
NuGet\Install-Package TipsTrade.UkVehicleData -Version 8.0.1
<PackageReference Include="TipsTrade.UkVehicleData" Version="8.0.1" />
<PackageVersion Include="TipsTrade.UkVehicleData" Version="8.0.1" />
<PackageReference Include="TipsTrade.UkVehicleData" />
paket add TipsTrade.UkVehicleData --version 8.0.1
#r "nuget: TipsTrade.UkVehicleData, 8.0.1"
#:package TipsTrade.UkVehicleData@8.0.1
#addin nuget:?package=TipsTrade.UkVehicleData&version=8.0.1
#tool nuget:?package=TipsTrade.UkVehicleData&version=8.0.1
TipsTrade.UkVehicleData
HTTP client and dependency-injection extensions for the UK Vehicle Data REST API.
Targets .NET Framework 4.8.1 and .NET 8.
The package major version follows the .NET target version (e.g. 8.x.x targets net8.0).
Installation
dotnet add package TipsTrade.UkVehicleData
Configuration
Implement ICredentialProvider
The client requires an API key that you obtain from the UK Vehicle Data panel.
using TipsTrade.UkVehicleData;
using TipsTrade.ApiClient.Core.Credential;
public class MyCredentialProvider : ICredentialProvider {
public Task<ApiKeyCredential> GetCredentialAsync(string key, CancellationToken ct = default)
=> Task.FromResult(new ApiKeyCredential("YOUR_API_KEY"));
}
Register with dependency injection
// Minimal registration
services.AddUkVehicleCheckClient<MyCredentialProvider>();
// With custom options (e.g. timeout)
services.AddUkVehicleCheckClient<MyCredentialProvider>(options => {
options.Timeout = TimeSpan.FromSeconds(30);
});
// Optional: add response caching
services.AddUkVehicleCheckClientCache<MyCacheProvider>();
// Optional: add multi-tenant support
services.AddUkVehicleCheckClientTenants<MyTenantProvider>();
Available API Methods
All methods are async and accept an optional CancellationToken.
| Method | Lookup | Description |
|---|---|---|
GetBatteryDataByVinAsync |
VIN | EV/hybrid battery compatibility data |
GetBatteryDataByVrmAsync |
VRM | EV/hybrid battery compatibility data |
GetVehicleDataByVinAsync |
VIN | Full DVLA/SMMT vehicle registration data |
GetVehicleDataByVrmAsync |
VRM | Full DVLA/SMMT vehicle registration data |
GetVehicleDataIrlByVinAsync |
VIN | Irish (ROI) vehicle registration data |
GetVehicleDataIrlByVrmAsync |
VRM | Irish (ROI) vehicle registration data |
GetVehicleImageDataByVinAsync |
VIN | Vehicle image URLs |
GetVehicleImageDataByVrmAsync |
VRM | Vehicle image URLs |
VRM = Vehicle Registration Mark (number plate). Spaces are stripped and the value is upper-cased automatically.
VIN = Vehicle Identification Number.
Usage Examples
Vehicle data by VRM
var response = await client.GetVehicleDataByVrmAsync("AB12CDE");
if (response.IsSuccess) {
var reg = response.Response?.DataItems?.VehicleRegistration;
Console.WriteLine($"{reg?.Make} {reg?.Model} ({reg?.YearOfManufacture})");
// Helper extension methods
string make = response.Response!.DataItems!.GetCombinedMake();
string model = response.Response!.DataItems!.GetCombinedModel();
}
Battery data by VIN
var response = await client.GetBatteryDataByVinAsync("WVWZZZAUZMW000001");
if (response.IsSuccess) {
var batteries = response.Response?.DataItems?.BatteryDetails?.BatteryList;
foreach (var battery in batteries ?? []) {
Console.WriteLine(battery.PartNumber);
}
}
Extensibility
ICacheProvider
Implement ICacheProvider to cache API responses and reduce repeated lookups for the same VRM/VIN.
public class MyCacheProvider : ICacheProvider {
// IReadWriteCache<(string TenantId, string Key), T> implementation
}
Register with:
services.AddUkVehicleCheckClientCache<MyCacheProvider>();
ITenantProvider
Implement ITenantProvider to support multi-tenant scenarios.
public class MyTenantProvider : ITenantProvider {
// IGetTenant implementation
}
Register with:
services.AddUkVehicleCheckClientTenants<MyTenantProvider>();
License
MIT — see LICENSE for details.
Source: https://github.com/tipstrade/TipsTrade.UkVehicleData
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net481 is compatible. |
-
.NETFramework 4.8.1
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- RestSharp (>= 114.0.0)
- System.Net.Http (>= 4.3.4)
- TipsTrade.ApiClient.Core (>= 8.0.0)
- TipsTrade.UkVehicleData.Model (>= 8.0.1)
-
net8.0
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- RestSharp (>= 114.0.0)
- System.Net.Http (>= 4.3.4)
- TipsTrade.ApiClient.Core (>= 8.0.0)
- TipsTrade.UkVehicleData.Model (>= 8.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.