Complete guide to integrating KADOE Finder into your application
Register for an account and generate your API key from the dashboard
Securely add your DVLA KADOE API credentials to enable queries
Use our REST API or C# SDK to query vehicle keeper data
dotnet add package KadoeApi.ClientOr use the Package Manager Console:
Install-Package KadoeApi.Clientusing KadoeApi;
// Initialize the client (defaults to https://kadoefinder.com)
var client = new KadoeApiClient("YOUR_API_KEY");
// Single KADOE query (idempotency key is required)
var result = await client.QueryVehicleAsync(
registrationNumber: "AB12CDE",
eventDate: "2025-01-15",
idempotencyKey: $"query-{Guid.NewGuid()}" // Required
);
if (result.Success)
{
// Vehicle details
Console.WriteLine($"Vehicle: {result.Vehicle.Make} {result.Vehicle.Model}");
// Check for stolen/exported/scrapped
if (result.Vehicle.HasMessage)
Console.WriteLine($"Status: {result.Vehicle.Message}");
// Keeper details (personal or company)
if (result.Keeper.IsCompany)
Console.WriteLine($"Company: {result.Keeper.CompanyName}");
else
Console.WriteLine($"Keeper: {result.Keeper.FullName}");
// Address (up to 5 lines)
Console.WriteLine($"Address: {result.Keeper.Address.GetFormattedAddress()}");
}
// Bulk query
var queries = new List<VehicleQuery>
{
new VehicleQuery { RegistrationNumber = "AB12CDE", EventDate = "2025-01-15" },
new VehicleQuery { RegistrationNumber = "FG34HIJ", EventDate = "2025-01-20" }
};
var bulkResult = await client.QueryVehiclesAsync(
queries,
idempotencyKey: $"bulk-{Guid.NewGuid()}" // Required
);
Console.WriteLine($"Processed: {bulkResult.QueriesProcessed}");
Console.WriteLine($"Credits used: {bulkResult.CreditsUsed}");Install our official .NET SDK supporting .NET 6.0, 7.0, and 8.0
dotnet add package KadoeApi.ClientView on NuGet.org{
"success": true,
"batchId": "batch_1735500000_abc123",
"idempotencyKey": "unique-request-id-12345",
"status": "completed",
"queriesProcessed": 1,
"queriesSucceeded": 1,
"queriesFailed": 0,
"creditsUsed": 1,
"creditsRemaining": 99,
"results": [
{
"queryId": "qry_1735500000_def456",
"registrationNumber": "AB12CDE",
"eventDate": "2025-01-15",
"success": true,
"vehicle": {
"make": "BMW",
"model": "3 SERIES",
"colour": "BLACK",
"taxStatus": "Taxed",
"bodyType": "SALOON",
"seatingCapacity": 5
},
"keeper": {
"title": "MR",
"firstName": "JOHN",
"lastName": "SMITH",
"address": {
"line1": "123 Test Street",
"line2": "Test Area",
"line5": "London",
"postcode": "SW1A 1AA"
}
},
"processedAt": "2025-01-15T10:30:00.000Z"
}
],
"createdAt": "2025-01-15T10:30:00.000Z",
"completedAt": "2025-01-15T10:30:02.000Z"
}Include your API key in the Authorization header of every request:
Authorization: Bearer YOUR_API_KEYImportant: Keep your API key secure and never expose it in client-side code. All requests should be made from your backend server.