API Documentation

Developer Documentation

Complete guide to integrating KADOE Finder into your application

Fast Integration
Get started in minutes with our REST API or C# SDK
Secure & Reliable
Enterprise-grade security with 99.9% uptime guarantee
Real-time Results
Average response times under 2 seconds for all queries
Quick Start
Get started with the KADOE Finder API in 3 simple steps
1

Sign Up & Get API Key

Register for an account and generate your API key from the dashboard

2

Configure Your DVLA Credentials

Securely add your DVLA KADOE API credentials to enable queries

3

Start Making Requests

Use our REST API or C# SDK to query vehicle keeper data

Official .NET SDK
NEW
The fastest way to integrate KADOE Finder into your .NET applications

Install via NuGet

dotnet add package KadoeApi.Client

Or use the Package Manager Console:

Install-Package KadoeApi.Client

SDK Features

  • Supports .NET 6.0, 7.0, and 8.0
  • Async/await support with full IntelliSense
  • Automatic retry logic with exponential backoff
  • Batch processing with progress tracking
  • Comprehensive error handling
Code Examples
Choose your preferred language and start integrating
using 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}");

Official C# SDK on NuGet

NEW

Install our official .NET SDK supporting .NET 6.0, 7.0, and 8.0

dotnet add package KadoeApi.Client
View on NuGet.org
Response Format
Example JSON response from the API
{
  "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"
}
Authentication
All API requests require authentication using Bearer tokens

Include your API key in the Authorization header of every request:

Authorization: Bearer YOUR_API_KEY

Important: Keep your API key secure and never expose it in client-side code. All requests should be made from your backend server.

Ready to Get Started?

Sign up now and start querying vehicle keeper data in minutes