REST API v1

VehDB API Reference

Every endpoint of the VehDB vehicle data API: cars, motorcycles, power boats and tire sizes, with EPA fuel economy, NHTSA recalls, complaints and crash data. Authenticate with a Bearer token; the base URL is https://api.vehdb.com/v1.

Try requests in the interactive reference below, read the API guide, download the OpenAPI 3.1 spec or see plans and quotas (the free plan includes 100 calls a month).

All endpoints (56)

Account

GET /v1/me
Your plan & quota. Returns plan, rate limit, monthly call quota, monthly record (row) quota and usage of both for the authenticated token.

Cars

GET /v1/cars
List cars. Filterable, paginated car records including EPA enrichment fields (mpg_city, mpg_highway, mpg_combined, epa_range_miles, annual_fuel_cost, co2_gpm). Parameters: make, model, year, year_min, year_max, q, ai, per_page, page, body, fuel_type, drive_type, ev_only, market
GET /v1/cars/makes
Car make taxonomy. Every car manufacturer with its record count — aggregate counts only.
GET /v1/cars/models
Car model taxonomy. Models for one make with their year range, for drilling down to records. Parameters: make
GET /v1/cars/body-types
Car body-type taxonomy. Every body type with its record count — aggregate counts only.
GET /v1/cars/{uuid}
Get a car. Single car record by uuid, including EPA enrichment fields and an inline `safety` block (recall_count, do_not_drive, park_outside, open_investigations — distinct investigations, ncap_overall, nhtsa_match — see the NhtsaMatch schema) from the NHTSA mirror. Parameters: uuid (required)
GET /v1/cars/{uuid}/tire-sizes
Tires that fit a car. Cross-reference: OEM and alternate tire fitments matched by make/model, preferring the exact model year; without an exact-year match the nearest model years come first. Parameters: uuid (required)
GET /v1/cars/{uuid}/recalls
Car recalls & safety rating. NHTSA recall campaigns (mirrored from the official NHTSA recall flat file, under every NHTSA spelling of the car) and NCAP crash-test ratings (overall, front, side, rollover). Parameters: uuid (required)
GET /v1/cars/{uuid}/crashes
Crash record (FARS + CRSS). Crash involvement for the make/model/year with the two NHTSA sources kept apart: `fars` = census of fatal crashes (exact vehicles involved and occupant deaths, 2020 onward); `crss` = weighted sample of police-reported crashes of every severity (national estimates with sample sizes, 2016 onward). Parameters: uuid (required)
GET /v1/cars/{uuid}/epa-tests
EPA test configurations. The dynamometer test configurations behind the fuel-economy label (EPA Test Car List): rated horsepower, equivalent test weight, axle ratio, transmission and gears, drive, and the FTP (city) / HWFE (highway) results and CO2. Parameters: uuid (required)
GET /v1/cars/{uuid}/complaints
Owner complaints for a car. NHTSA ODI owner-complaint statistics for the make/model/year: totals with crash, fire, injury and death counts, the most reported components, complaints by year received, and the neighbouring model years, read under every NHTSA spelling (`complaints.nhtsa_match`, NhtsaMatch schema; status "none" means zero is "no name matched"). Parameters: uuid (required)
GET /v1/cars/{uuid}/tsbs
Service bulletins and warranty extensions for a car. NHTSA manufacturer communications covering the make/model/year, read under every NHTSA spelling (`tsbs.nhtsa_match`, NhtsaMatch schema; status "none" means zero is "no name matched"): counts by type (service_bulletin, service_campaign, warranty_program, over_the_air, emissions, other), the most named components, every warranty extension (typed so by NHTSA, or a "special coverage" / "warranty extension" in the summary) and the 10 latest communications with the manufacturer's summary. Parameters: uuid (required)

Motorcycles

GET /v1/motorcycles
List motorcycles. Filterable, paginated motorcycle records. Parameters: make, model, year, year_min, year_max, q, ai, per_page, page, motorcycle_type, vehicle_type
GET /v1/motorcycles/makes
Motorcycle make taxonomy. Every manufacturer with its record count — aggregate counts only.
GET /v1/motorcycles/models
Motorcycle model taxonomy. Models for one make with their year range, for drilling down to records. Parameters: make
GET /v1/motorcycles/types
Motorcycle type taxonomy. Every riding type with its vehicle class and record count — aggregate counts only.
GET /v1/motorcycles/{uuid}
Get a motorcycle. Single motorcycle record by uuid, with an inline `safety` block (recall_count, open_investigations, nhtsa_match) from the NHTSA mirror. Parameters: uuid (required)
GET /v1/motorcycles/{uuid}/recalls
Motorcycle recalls. NHTSA recall campaigns for a motorcycle, from the NHTSA recall mirror under every NHTSA spelling. Parameters: uuid (required)
GET /v1/motorcycles/{uuid}/complaints
Owner complaints for a motorcycle. NHTSA ODI owner-complaint statistics for the motorcycle's make/model/year, same shape as /cars/{uuid}/complaints: totals with crash, fire, injury and death counts, the most reported components, complaints by year received, and the neighbouring model years. Parameters: uuid (required)
GET /v1/motorcycles/{uuid}/tsbs
Service bulletins and warranty extensions for a motorcycle. NHTSA manufacturer communications for the motorcycle's make/model/year, same shape as /cars/{uuid}/tsbs. Parameters: uuid (required)

Power Boats

GET /v1/boats
List power boats. Filterable, paginated power-boat records (length, beam, dry weight, engine count, hp, hull material, fuel type). Parameters: make, model, year, year_min, year_max, q, ai, per_page, page, hull_type, fuel_type, model_type, hp_min, hp_max, length_min, length_max, beam_min, beam_max, weight_min, weight_max, lb_per_hp_min, lb_per_hp_max, length_beam_ratio_min, length_beam_ratio_max
GET /v1/boats/makes
Boat make taxonomy. Every boat manufacturer with its vessel count — aggregate counts only.
GET /v1/boats/models
Boat model taxonomy. Models for one make with their year range, for drilling down to records. Parameters: make
GET /v1/boats/hull-types
Boat hull-type taxonomy. Every hull type with its vessel count — aggregate counts only.
GET /v1/boats/{uuid}
Get a power boat. Single power-boat record by uuid. Parameters: uuid (required)
GET /v1/hin/{hin}
Decode a boat HIN. Decode a Hull Identification Number (12 characters, or 14 with a country prefix such as US-): the builder from its U.S. Parameters: hin (required)
GET /v1/boats/{uuid}/similar
Similar boats. Up to 10 comparable vessels: same category, length within ±10%, horsepower within ±25%, other models only, closest length first. Parameters: uuid (required)
GET /v1/boats/{uuid}/recalls
Recalls for a power boat. U.S. Parameters: uuid (required)

Tire Sizes

GET /v1/tire-sizes
List tire fitments. Filterable, paginated tire fitment records (vehicle → OEM + alternate sizes). Parameters: make, model, year, year_min, year_max, q, ai, per_page, page, tire_size
GET /v1/tire-sizes/makes
Tire fitment make taxonomy. Every vehicle make in the fitment dataset with its record count — aggregate counts only.
GET /v1/tire-sizes/models
Tire fitment model taxonomy. Models for one make, for cascading vehicle selectors. Parameters: make
GET /v1/tire-sizes/{uuid}
Get a tire fitment. Single tire fitment record by uuid. Parameters: uuid (required)
GET /v1/tire-sizes/{uuid}/recalls
Recalls naming a tire size. NHTSA tire recall campaigns whose notice names the fitment's OEM size, newest first, with brands, lines, the production windows and plant codes printed in the notice. Parameters: uuid (required)
GET /v1/tire-sizes/vehicles
Vehicles by tire size. Reverse fitment: every vehicle that runs the given size as OEM or as an accepted alternate. Parameters: size, make, year, per_page, page
GET /v1/tire-sizes/dot/{tin}
DOT check for a tire. Decode a tire identification number (the code after "DOT" on the sidewall): the plant (vPIC tire plant codes, two- or three-character), the build week and year from the four-digit date code, the tire's age, and the NHTSA tire recalls whose printed production windows cover that week and plant. Parameters: tin (required), size, brand
GET /v1/tire-sizes/plants/{code}
Decode a tire plant code. The 2–3 characters after DOT on a tire sidewall identify the plant. Parameters: code (required)
GET /v1/tire-sizes/{uuid}/geometry
Tire size geometry & fitment check. Computed geometry for the OEM size (width, sidewall, overall diameter, revs/mile) and each alternate size with its diameter delta vs OEM. Parameters: uuid (required)

Energy Prices

GET /v1/energy-prices
Fuel and electricity prices. Latest U.S. Parameters: state

Names

GET /v1/resolve
Resolve a vehicle name. Reads a vehicle as someone typed it ("2019 chevy silverado 1500", "Tesla Model S") in the catalogue's spelling: `make` (the longest run of leading words that is a catalogue make or a listed alias such as Chevy or VW), `model` and `catalogue_match` (the catalogue has that model), plus `year` and, when a year is known, `nhtsa_match` (NhtsaMatch schema): the NHTSA spellings its recalls, complaints and investigations are filed under. Parameters: q (required), year

VIN Decoding

GET /v1/vin/{vin}
Decode a VIN. Decodes a 17-character VIN via NHTSA vPIC (make, model, year, engine, body, plant — cached 24h) and cross-references it against VehDB records: `matches.cars` and `matches.tire_sizes` uuids, or `matches.motorcycles` when vPIC reports a motorcycle (or off-road vehicle), for follow-up spec, recall and geometry calls. Parameters: vin (required)
GET /v1/vin/{vin}/recalls
Recalls for a VIN. Decodes the VIN via NHTSA vPIC and returns the NHTSA recall campaigns issued for that make, model and year. Parameters: vin (required)
POST /v1/vin/batch
Batch VIN decode. Decode up to your plan's batch size (10 Free, 25 Pro, 100 Developer/Enterprise) in one call; each decoded VIN counts one row plus one per matched VehDB record (up to 10 cars and 10 tire fitments, or 10 motorcycles) against the monthly data limit.

Insights

GET /v1/insights/scorecard
Model-year scorecard. Every dataset per model year for one make/model: trims and EPA mpg, NHTSA complaints with a percentile against the same model-year cohort, crash/fire share, top component, recall campaigns and advisories, open investigations (distinct), service bulletins and warranty extensions (NHTSA manufacturer communications covering the year, `service_bulletins`, `warranty_extensions`), NCAP stars and FARS fatal-crash involvement, plus best/worst year and flags. Parameters: make (required), model (required)
GET /v1/insights/complaints/vehicles
Most complained-about vehicles. Vehicles of one model year ranked by NHTSA owner complaints, with crash, fire, injury and death counts. Parameters: year (required), limit
GET /v1/insights/complaints/components
Brand weak spots. The components owners report most for one brand across a model-year window, with each component's share of the brand's complaints. Parameters: make (required), year_min, year_max, limit
GET /v1/insights/fatal-crashes/vehicles
Vehicles in fatal crashes. Vehicles involved in fatal crashes in a crash year (NHTSA FARS), ranked by involvement, with occupant deaths per involved vehicle. Parameters: year, body_class, limit
GET /v1/insights/fatal-crashes/body-classes
Occupant survivability by body class. Deaths in the vehicle per vehicle involved in a fatal crash, by FARS body class (classes with 100+ vehicles). Parameters: year
GET /v1/insights/engines
Engine trends. Average displacement and cylinder count, forced-induction share and four-cylinder-or-fewer share per model year, light vehicles only. Parameters: year_min, year_max
GET /v1/insights/fuel-economy/canada
Canadian fuel consumption. Natural Resources Canada 5-cycle ratings: average combined L/100 km and CO2 g/km for gasoline vehicles, electrified share and average BEV range, by model year, vehicle class or make. Parameters: by, year_min, year_max
GET /v1/insights/recalls/age
Recall timing by vehicle age. How many years after a model year ships its NHTSA recall campaigns arrive: campaigns, share and cumulative share per year of age, over a model-year window old enough to be settled. Parameters: year_min, year_max
GET /v1/insights/tires/rim-sizes
Rim size trend. Average OEM rim diameter and the share of 18-inch-or-larger fitments per model year. Parameters: year_min, year_max
GET /v1/insights/recalls/brands
Most-recalled brands. Brands ranked by distinct NHTSA vehicle recall campaigns in a calendar year (ties by units), with `units` and `models_affected`. Parameters: year, limit
GET /v1/insights/fuel-economy
Fuel economy trends. Average EPA city/highway/combined MPG grouped by model year, EPA class or make. Parameters: by, year_min, year_max
GET /v1/insights/ev-share
Electrified share by year. Per model year: catalogue records, electrified trims (BEV, PHEV, HEV and mild hybrids — the same definition as ev_only=1 on /cars) and their share in percent. Parameters: year_min, year_max

Lists

GET /v1/lists/recalls
Fleet recall exposure. Every car and motorcycle on your lists with its NHTSA recall count, do-not-drive / park-outside flags, open investigations, NCAP overall rating, `safety.nhtsa_match` and latest campaigns; every boat with the U.S. Parameters: per_page, page
GET /v1/lists
Your lists. The authenticated user's curated vehicle list, newest first (same data as the dashboard lists and the my_lists MCP tool). Parameters: per_page, page