Vehicle Data API

Programmatic access to 30,000+ vehicle specifications. REST, JSON, £20/month.

Authentication

All API requests require a Bearer token in the Authorization header.

Authorization: Bearer cdw_your_api_key_here

Generate API keys from your dashboard after subscribing.

Base URL

https://cardata.wiki

Endpoints

MethodPathDescription
GET/api/v1/makesList all makes
GET/api/v1/makes/:makeSlugSingle make with model count
GET/api/v1/variantsList variants with filtering
GET/api/v1/variants/:variantIdFull variant spec (all 40+ fields)

Example Response

GET /api/v1/variants?make=ford&limit=1

{
  "data": [
    {
      "id": "clxxx123",
      "slug": "ford-focus-20-tdci-titanium-2019",
      "name": "2.0 TDCi Titanium",
      "make": "Ford",
      "model": "Focus",
      "yearFrom": 2019,
      "yearTo": null,
      "engineFuelType": "DIESEL",
      "enginePowerBhp": 148.0,
      "engineTorqueNm": 340.0,
      "acceleration0100": 8.9,
      "topSpeedKph": 213,
      "co2Gkm": 121,
      "fuelEconomyCombinedMpg": 60.1
    }
  ],
  "meta": { "page": 1, "limit": 50, "total": 832, "pages": 17 }
}

Code Examples

JavaScript

const response = await fetch(
  'https://cardata.wiki/api/v1/variants?make=audi&fuel=DIESEL&limit=10',
  { headers: { 'Authorization': 'Bearer cdw_YOUR_API_KEY' } }
)
const { data, meta } = await response.json()
console.log(`Found ${meta.total} variants`)
data.forEach(v => console.log(v.name, v.enginePowerBhp + 'bhp'))

Python

import requests

headers = {'Authorization': 'Bearer cdw_YOUR_API_KEY'}
r = requests.get(
    'https://cardata.wiki/api/v1/variants',
    params={'make': 'bmw', 'yearFrom': 2020, 'limit': 50},
    headers=headers
)
variants = r.json()['data']
for v in variants:
    print(v['name'], v.get('enginePowerBhp'), 'bhp')

PHP

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://cardata.wiki/api/v1/variants?make=ford',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer cdw_YOUR_API_KEY'],
]);
$response = json_decode(curl_exec($ch), true);
foreach ($response['data'] as $variant) {
    echo $variant['name'] . PHP_EOL;
}

Fuel Type Values

PETROLDIESELELECTRICHYBRID_PETROLHYBRID_DIESELPLUG_IN_HYBRIDHYDROGENLPG

Ready to get started?

£20/month · REST API · cancel anytime

Create account & subscribe