CarsXE

Resolve a license plate to structured vehicle data — make, model, trim, VIN, engine, and more. Pass a plate and state (or country) and get back the same richness you'd expect from a VIN decode, sourced directly from registration records.

When to use it

Parameters

ParameterRequiredDescription
plateYesThe license plate number
stateYesTwo-letter state, province, or region code (e.g. CA, ON, NSW)
keyYesYour CarsXE API key
countryNoISO 3166-1 alpha-2 country code. Defaults to US. Example: GB, DE, AU
districtNoPakistan only — pass the district code alongside country=PK
require_vinNoSpain only (country=ES). Pass 1 to guarantee a VIN in the response. Costs 2× a standard lookup

Example

Decode a plate

Code
curl -G https://api.carsxe.com/v2/platedecoder \
  -d key=YOUR_API_KEY \
  -d plate=7XER187 \
  -d state=CA \
  -d country=US

Response

Top-level shape

{
"success": true,// always true on 200
"description": "2021 Toyota Camry SE",
"make": "Toyota",
"model": "Camry",
"trim": "SE",
"vin": "4T1G11AK9MU451234",// when available from provider
"year": "2021",
"style": "Sedan",// optional — not always returned
"body_style": "SEDAN 4-DR",
"color": "Silver",
"engine": "2.5L L4 DOHC 16V",// optional — not always returned
"engine_size": "2.5",
"fuel_type": "Gasoline",
"drive_type": "FWD",
"transmission": "8-Speed Automatic",
"assembly": "United States",
"registration_year": "2021"// optional — not always returned
}

Click input to expand it and see the echoed request fields. For the full interactive reference, try it live in the API Reference.

All fields except success and input are optional — availability depends on the country and provider.

Country response matrix

Plate Decoder v2 responses are country-specific. Expand a country below to inspect the JSON shape that country can return from the current v2 response builders. These fields are possible response keys, not guaranteed non-empty values for every plate.

AEUnited Arab Emirates5 possible fields
country=AE
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null
}
ALAlbania11 possible fields
country=AL
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "region": null,
  "number_of_seats": null,
  "power": null,
  "color": null,
  "traffic_permit": null,
  "owner": null,
  "engine_size": null
}
ARArgentina7 possible fields
country=AR
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "region": null
}
AUAustralia20 possible fields
country=AU
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "body_style": null,
  "colour": null,
  "vin": null,
  "engine": null,
  "engine_number": null,
  "net_weight": null,
  "stolen": null,
  "goods_carrying_vehicle": null,
  "registration_serial_number": null,
  "compliance_date": null,
  "insurance_expiry": null,
  "insurance_company": null,
  "purpose": null,
  "expiry": null,
  "extended_information": null,
  "registration_plate": null
}
BEBelgiumNo stable top-level fields from the fallback builder.
country=BE
{}
BOBolivia18 possible fields
country=BO
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "policy": null,
  "class": null,
  "country": null,
  "service": null,
  "drive": null,
  "cc": null,
  "colour": null,
  "body": null,
  "load": null,
  "doors": null,
  "location": null,
  "vehicle_type": null
}
BRBrazil15 possible fields
country=BR
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "location": null,
  "vin": null,
  "fuel_type": null,
  "color": null,
  "power": null,
  "engine_cc": null,
  "type": null,
  "seats": null,
  "axles": null,
  "gross_weight": null,
  "max_traction": null
}
CACanada11 possible fields
country=CA
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "vin": null,
  "fuel_type": null,
  "engine_size": null,
  "body_style": null,
  "transmission": null,
  "trim": null,
  "drive_type": null
}
CHSwitzerland20 possible fields
country=CH
{
  "description": null,
  "variant": null,
  "registration_year": null,
  "registration_month": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "transmission": null,
  "engine_size": null,
  "power": null,
  "fuel_type": null,
  "doors": null,
  "body": null,
  "drive": null,
  "engine_type": null,
  "type_certificate": null,
  "euro_type_code": null,
  "Co2": null,
  "region": null
}
CLChile14 possible fields
country=CL
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "valid_since": null,
  "expiry": null,
  "vehicle_type": null,
  "vin": null,
  "engine_code": null,
  "fuel": null,
  "colour": null,
  "owner": null
}
CNChina15 possible fields
country=CN
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "variant": null,
  "engine_size": null,
  "fuel_type": null,
  "number_of_seats": null,
  "number_of_doors": null,
  "body_style": null,
  "vin": null,
  "engine_number": null,
  "owner": null,
  "location": null,
  "transmission": null
}
COColombia11 possible fields
country=CO
{
  "description": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "number_of_doors": null,
  "fuel_type": null,
  "vin": null,
  "vehicle_type": null,
  "motor_code": null,
  "registration_year": null,
  "insurance": null
}
CRCosta Rica16 possible fields
country=CR
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "engine_size": null,
  "registration_year": null,
  "body": null,
  "transmission": null,
  "fuel": null,
  "cabin": null,
  "wheel_plan": null,
  "vin": null,
  "colour": null,
  "engine_code": null,
  "owner": null
}
CYCyprus12 possible fields
country=CY
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "engine_size": null,
  "power": null,
  "registration_date": null,
  "manufacture_date": null,
  "convertible": null,
  "driver_side": null,
  "usage": null
}
CZCzech Republic13 possible fields
country=CZ
{
  "description": null,
  "make": null,
  "model": null,
  "registration_date": null,
  "registration_year": null,
  "engine_size": null,
  "fuel_type": null,
  "body_style": null,
  "vin": null,
  "gross_weight": null,
  "net_weight": null,
  "power": null,
  "region": null
}
DEGermany9 possible fields
country=DE
{
  "description": null,
  "make": null,
  "model": null,
  "power_kw": null,
  "power_hp": null,
  "engine_size": null,
  "fuel_type": null,
  "k_type_id": null,
  "extended_information": null
}
DKDenmark13 possible fields
country=DK
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "immobiliser": null,
  "number_of_seats": null,
  "driver_side": null,
  "body_style": null,
  "vin": null,
  "extended_information": null
}
ECEcuador9 possible fields
country=EC
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "year": null,
  "type": null,
  "sub_type": null,
  "vin": null
}
EEEstonia10 possible fields
country=EE
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "number_of_seats": null,
  "power": null,
  "gross_weight": null,
  "vin": null
}
ESSpain25 possible fields
country=ES
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "vin": null,
  "registration_date": null,
  "variation": null,
  "seats": null,
  "variant_type": null,
  "vehicle_type": null,
  "fuel_type": null,
  "indicative_price": null,
  "number_of_doors": null,
  "all_terrain": null,
  "k_type": null,
  "stolen": null,
  "drive_type": null,
  "engine": null,
  "engine_code": null,
  "power_kw": null,
  "injection": null,
  "tecdoc_make_id": null,
  "tecdoc_model_id": null,
  "extended_information": null
}
FIFinland20 possible fields
country=FI
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "body_style": null,
  "insurance_company": null,
  "vin": null,
  "tow_bar": null,
  "registration_date": null,
  "axles": null,
  "power": null,
  "turbo": null,
  "net_weight": null,
  "engine_code": null,
  "transmission": null,
  "body_type": null,
  "model_year": null,
  "variant": null
}
GBUnited Kingdom20 possible fields
country=GB
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "immobiliser": null,
  "number_of_seats": null,
  "driver_side": null,
  "transmission": null,
  "number_of_doors": null,
  "vehicle_insurance_group": null,
  "vehicle_insurance_group_out_of": null,
  "vin": null,
  "engine_code": null,
  "engine_number": null,
  "body_style": null,
  "colour": null,
  "registration_date": null
}
GRGreece12 possible fields
country=GR
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "variant": null,
  "vehicle_type": null,
  "doors": null,
  "engine_band": null,
  "engine_size": null,
  "registration_date": null,
  "region": null
}
HRCroatia10 possible fields
country=HR
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vechile_identification_number": null,
  "insurance_company": null,
  "insurance_company_url": null,
  "insurance_company_number": null,
  "city": null
}
HUHungary11 possible fields
country=HU
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "power": null,
  "gross_weight": null,
  "net_weight": null,
  "registration_date": null,
  "vin": null
}
IEIreland12 possible fields
country=IE
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "body_style": null,
  "transmission": null,
  "fuel_type": null,
  "number_of_seats": null,
  "number_of_doors": null,
  "engine_size": null,
  "county": null
}
ILIsraelNo stable top-level fields from the fallback builder.
country=IL
{}
IMIsle of Man13 possible fields
country=IM
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "version": null,
  "colour": null,
  "Co2": null,
  "registration_date": null,
  "wheel_plan": null,
  "taxed": null,
  "tax_expiry": null
}
INIndia17 possible fields
country=IN
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "variant": null,
  "engine_size": null,
  "number_of_seats": null,
  "vin": null,
  "engine_number": null,
  "fuel_type": null,
  "registration_date": null,
  "owner": null,
  "fitness": null,
  "insurance": null,
  "PUCC": null,
  "vehicle_type": null,
  "location": null
}
ISIceland12 possible fields
country=IS
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vin": null,
  "registration_date": null,
  "next_inspection_date": null,
  "weight": null,
  "colour": null,
  "Co2": null
}
ITItaly17 possible fields
country=IT
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "immobiliser": null,
  "number_of_doors": null,
  "version": null,
  "ABS": null,
  "air_bag": null,
  "vin": null,
  "k_type": null,
  "power_CV": null,
  "power_KW": null,
  "power_fiscal": null,
  "extended_information": null
}
KZKazakhstan9 possible fields
country=KZ
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "colour": null,
  "engine_size": null,
  "region": null
}
LKSri Lanka10 possible fields
country=LK
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "engine_size": null,
  "registration_year": null,
  "owner": null,
  "vehicle_class": null,
  "conditions": null
}
LTLithuania13 possible fields
country=LT
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "engine_size": null,
  "vin": null,
  "fuel_type": null,
  "insurance_company": null,
  "insurance_company_number": null,
  "vehicle_type": null,
  "body": null
}
LVLatvia9 possible fields
country=LV
{
  "description": null,
  "make": null,
  "model": null,
  "registration_year": null,
  "variant": null,
  "vin": null,
  "engine_size": null,
  "power": null,
  "fuel_type": null
}
MTMalta14 possible fields
country=MT
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vehicle_identification_number": null,
  "engine_size": null,
  "power": null,
  "fuel_type": null,
  "body": null,
  "number_of_seats": null,
  "engine_number": null,
  "tonnage": null
}
MXMexico21 possible fields
country=MX
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "class": null,
  "type": null,
  "vin": null,
  "NCI": null,
  "number_of_doors": null,
  "country": null,
  "version": null,
  "engine_size": null,
  "cylinders": null,
  "axles": null,
  "assembly_plant": null,
  "institution": null,
  "registration_date": null,
  "issue_date": null,
  "last_update": null,
  "certifiate_of_registration": null,
  "observations": null
}
MYMalaysia16 possible fields
country=MY
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "seats": null,
  "body": null,
  "fuel": null,
  "transmission": null,
  "vin": null,
  "nvin": null,
  "engine_number": null,
  "engine_size": null,
  "drive": null,
  "insurance": null
}
NGNigeria8 possible fields
country=NG
{
  "description": null,
  "make": null,
  "model": null,
  "registration_year": null,
  "colour": null,
  "expiry": null,
  "vin": null,
  "region": null
}
NLNetherlands13 possible fields
country=NL
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "immobiliser": null,
  "number_of_seats": null,
  "driver_side": null,
  "catalog_price": null,
  "colour": null,
  "extended_information": null
}
NONorway11 possible fields
country=NO
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "make_description": null,
  "model_description": null,
  "indicative_value": null,
  "power": null,
  "region": null,
  "extended_information": null
}
NZNew Zealand23 possible fields
country=NZ
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "body_style": null,
  "vin": null,
  "chassis": null,
  "engine_number": null,
  "colour": null,
  "number_of_seats": null,
  "assembly": null,
  "stolen": null,
  "estimated_current_odometer": null,
  "last_odometer_reading": null,
  "warrant_of_fitness": null,
  "plate_type": null,
  "origin": null,
  "vehicle_purpose": null,
  "reason_latest_registration": null,
  "first_local_registration": null,
  "imported": null
}
OMOman11 possible fields
country=OM
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vin": null,
  "colour": null,
  "engine_number": null,
  "insurance_expire": null,
  "insurance_company": null
}
PEPeru11 possible fields
country=PE
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "deliveryPoint": null,
  "date": null,
  "vin": null,
  "owner": null,
  "use": null
}
PKPakistan8 possible fields
country=PK
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vechile_identification_number": null,
  "registration_year": null,
  "extended": null
}
PLPoland15 possible fields
country=PL
{
  "description": null,
  "registration_date": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "vin": null,
  "engine_size": null,
  "power": null,
  "fuel_type": null,
  "is_plug_in": null,
  "steering_wheel_side": null,
  "manufacturing_year": null,
  "mileage": null,
  "weight": null,
  "region": null
}
PTPortugal17 possible fields
country=PT
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "immobiliser": null,
  "number_of_seats": null,
  "indicative_value": null,
  "driver_side": null,
  "version": null,
  "colour": null,
  "vin": null,
  "gross_weight": null,
  "net_weight": null,
  "extended_information": null
}
RORomania16 possible fields
country=RO
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "type": null,
  "vin": null,
  "civ": null,
  "variant": null,
  "weight": null,
  "fuel_type": null,
  "number_of_seats": null,
  "power": null,
  "engine_size": null,
  "region": null
}
RURussia17 possible fields
country=RU
{
  "description": null,
  "english_description": null,
  "english_make": null,
  "english_model": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "vin": null,
  "registration_year": null,
  "fuel_type": null,
  "engine": null,
  "power": null,
  "gross_weight": null,
  "net_weight": null,
  "wheel": null,
  "region": null
}
SESweden18 possible fields
country=SE
{
  "ABI_code": null,
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "make_description": null,
  "model_description": null,
  "immobiliser": null,
  "number_of_seats": null,
  "driver_side": null,
  "body_style": null,
  "colour": null,
  "registration_date": null,
  "vin": null,
  "transmission": null,
  "Co2": null
}
SGSingapore5 possible fields
country=SG
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "tax_expiry": null
}
SISlovenia8 possible fields
country=SI
{
  "description": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "variant": null,
  "vin": null,
  "region": null
}
SKSlovakia14 possible fields
country=SK
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "number_of_doors": null,
  "number_of_seats": null,
  "fuel_type": null,
  "registration_date": null,
  "power": null,
  "colour": null,
  "vin": null,
  "region": null,
  "weight": null
}
TNTunisia12 possible fields
country=TN
{
  "description": null,
  "registration_year": null,
  "registration_date": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "fuel_type": null,
  "variant": null,
  "engine": null,
  "type": null,
  "fiscal_power": null
}
TWTaiwan12 possible fields
country=TW
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "make_description": null,
  "model_description": null,
  "engine_size": null,
  "manufacture_date": null,
  "license_issue_date": null,
  "engine_cycle": null,
  "inspection_status": null,
  "test_records": null
}
UAUkraine15 possible fields
country=UA
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "engine_size": null,
  "fuel_type": null,
  "make_description": null,
  "model_description": null,
  "body_style": null,
  "colour": null,
  "registration_date": null,
  "weight": null,
  "validity": null,
  "address": null,
  "vin": null
}
USUnited States13 possible fields
country=US
{
  "description": null,
  "body_style": null,
  "vin": null,
  "assembly": null,
  "engine_size": null,
  "year": null,
  "make": null,
  "model": null,
  "fuel_type": null,
  "trim": null,
  "color": null,
  "drive_type": null,
  "transmission": null
}
ZASouth Africa6 possible fields
country=ZA
{
  "description": null,
  "registration_year": null,
  "make": null,
  "model": null,
  "vin": null,
  "region": null
}

Fields

Identity — Who made it, what it is, and its VIN
  • Name
    description
    Type
    string
    Description

    Human-readable summary combining year, make, model, and trim. Example: "2021 Toyota Camry SE".

  • Name
    make
    Type
    string
    Description

    Manufacturer or brand. Example: "Toyota", "Ford", "BMW".

  • Name
    model
    Type
    string
    Description

    Model family. Example: "Camry", "F-150", "3 Series".

  • Name
    trim
    Type
    string
    Description

    Trim level or variant. Example: "SE", "XLT", "330i".

  • Name
    year
    Type
    string
    Description

    Model year as a 4-digit string. Example: "2021".

  • Name
    vin
    Type
    string
    Description

    17-character vehicle identification number, when available from the provider. Not guaranteed — use require_vin=1 with country=ES to enforce it for Spanish plates.

Body & Style — Shape, body classification, and color
  • Name
    style
    Type
    string
    Description

    Normalized vehicle category. Example: "Sedan", "SUV", "Truck". Optional — not always returned.

  • Name
    body_style
    Type
    string
    Description

    Body style as recorded by the manufacturer, typically in uppercase with door count. Example: "SEDAN 4-DR", "PICKUP", "SPORT UTILITY 4-DR".

  • Name
    color
    Type
    string
    Description

    Registered exterior color. Example: "Silver", "Black", "White". Sourced from registration records — may differ from the current painted color if the vehicle has been repainted.

Powertrain — Engine, fuel, drivetrain, and transmission
  • Name
    engine
    Type
    string
    Description

    Full engine descriptor. Example: "2.5L L4 DOHC 16V". Optional — not always returned.

  • Name
    engine_size
    Type
    string
    Description

    Engine displacement in liters. Example: "2.5", "3.0", "5.0".

  • Name
    fuel_type
    Type
    string
    Description

    Primary fuel type. Example: "Gasoline", "Diesel", "Electric", "Hybrid".

  • Name
    drive_type
    Type
    string
    Description

    Wheel drive configuration. Example: "FWD", "RWD", "AWD", "4WD".

  • Name
    transmission
    Type
    string
    Description

    Transmission description. Example: "8-Speed Automatic", "6-Speed Manual", "CVT".

  • Name
    assembly
    Type
    string
    Description

    Country where the vehicle was assembled. Example: "United States", "Germany", "Japan".

Registration — Year registered
  • Name
    registration_year
    Type
    string
    Description

    Year the vehicle was first registered. May differ from the model year. Example: "2021". Optional — not always returned.

Country & region support

The endpoint supports 50+ countries. Pass country as an ISO 3166-1 alpha-2 code (e.g. GB, DE, NL, AU). It defaults to US when omitted.

State or province is required for US, Australian, Canadian, and Pakistani plates — use the standard two-letter code (e.g. CA, NSW, ON).

Pakistan additionally supports a district parameter for more precise lookups.

Coverage and field availability vary by country. Some regions return a full spec set; others return only identity fields.

See the full list of supported countries.

require_vin (Spain only)

By default, Spanish plate lookups use a standard provider that does not guarantee a VIN in the response. Pass require_vin=1 with country=ES to route the request through a higher-cost provider that always returns a VIN.

curl -G https://api.carsxe.com/v2/platedecoder \
  -d key=YOUR_API_KEY \
  -d plate=1234ABC \
  -d state=MA \
  -d country=ES \
  -d require_vin=1

This costs 2× a standard lookup and only applies to country=ES. Passing it for any other country has no effect.

Errors

StatusWhen it happens
400Missing plate or state, or invalid parameter values
401Missing or invalid API key
404No data found for this plate in the provider's database
429Usage limit exceeded
500Internal server error
503Upstream plate data provider unavailable

See the Errors guide for general error handling guidance.