Plate decoder

License Plate Decoder (v2)

Decode a license plate into vehicle data across 60+ supported countries. `country` is an ISO 3166-1 alpha-2 code (optional for `US`). `state` is required for `AU` and `CA`. For `US`, set `country=US` and omit `state` to search every covered jurisdiction (including DC) and receive `{ results, count, billed_credits }` (1 credit per hit; 404 and 0 credits if nothing matches). Passing `state` keeps the single-object response. x402 payments still require `state`. For Pakistan (`PK`) a `district` is also required for the Khyber-Pakhtunkhwa province. For Spain (`ES`), set `require_vin=true` to always include a VIN. Additional charges apply: when `require_vin=true`, the request is billed 2x and usage counts 2x. The 200 response shape is country- and provider-specific. Common identity fields such as `make`, `model`, `year` and `vin` may be present when available, but each country can return different additional fields. The schema intentionally allows additional properties so clients can read country-specific fields without a spec revision.


Checking account...
GET
/v2/platedecoder

Decode a license plate into vehicle data across 60+ supported countries. country is an ISO 3166-1 alpha-2 code (optional for US). state is required for AU and CA. For US, set country=US and omit state to search every covered jurisdiction (including DC) and receive { results, count, billed_credits } (1 credit per hit; 404 and 0 credits if nothing matches). Passing state keeps the single-object response. x402 payments still require state. For Pakistan (PK) a district is also required for the Khyber-Pakhtunkhwa province.

For Spain (ES), set require_vin=true to always include a VIN. Additional charges apply: when require_vin=true, the request is billed 2x and usage counts 2x.

The 200 response shape is country- and provider-specific. Common identity fields such as make, model, year and vin may be present when available, but each country can return different additional fields. The schema intentionally allows additional properties so clients can read country-specific fields without a spec revision.

Authorization

key<token>

Your CarsXE API key, passed as the key query parameter.

In: query

Query Parameters

plate*string

The vehicle registration number or license plate number.

country?string

ISO 3166-1 alpha-2 country code such as AU for Australia or ZA for South Africa. Optional for US.

state?string

The two letter state code (US) such as CA or NY, an Australian state (e.g. NSW, VIC), or a Canadian province (e.g. ON). Required for AU and CA. Optional for US: omit it, with country=US, to fan out across every covered US jurisdiction. x402 payments still require state.

district?string

The district of the vehicle registration number. Required for Pakistan (PK) plates registered in the Khyber-Pakhtunkhwa province.

require_vin?boolean

Only supported when country=ES. Set to true to always include a VIN. The request is billed 2x and usage counts 2x.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -G https://api.carsxe.com/v2/platedecoder \  -d key=CARSXE_API_KEY \  -d plate=string
{
  "success": true,
  "input": {
    "plate": "7XER187",
    "state": "CA",
    "country": "US"
  },
  "description": "Kia Forte LX",
  "make": "Kia",
  "model": "Forte",
  "trim": "LX",
  "vin": "3KPFK4A78HE103497",
  "style": "Sedan 4D",
  "year": "2017",
  "assembly": "Mexico",
  "fuel_type": "Gasoline",
  "color": "White",
  "body_style": "Sedan",
  "engine_size": "2.0L I4 MPI",
  "drive_type": "FWD",
  "transmission": "Automatic"
}

{
  "success": false,
  "message": "Missing vehicle registration number or license plate number"
}

{
  "success": false,
  "message": "Missing API key"
}

{
  "success": false,
  "message": "Invalid state or country code."
}

{
  "success": false,
  "message": "API usage limit exceeded",
  "usage": {
    "current": 1000,
    "limit": 1000,
    "remaining": 0
  }
}