Vehicode

API docs

Integrate VIN decoding into your workflow

Use the Vehicode API to decode VINs, track usage, and report corrections from your own product or backend service.

Authentication

Send your API key

  1. Create an API key in the subscriber portal.
  2. Send it with each subscriber request.
  3. Keep the full key private; Vehicode only shows it once.
Preferredx-api-key: vdx_your_api_key
AlternativeAuthorization: Bearer vdx_your_api_key

Plans

Monthly limits

  • Free100 requests / month
  • Business5,000 requests / month
  • EnterpriseCustom limits, SLA, and integrations

Errors

Predictable responses

  • 400Invalid request payload
  • 401Invalid or inactive API key
  • 429Monthly or public usage limit reached

Rate-limit details are returned in response headers and body usage metadata.

Decode endpoint

POST /api/decode

The main endpoint returns a compact public vehicle report and current usage metadata. Empty fields, internal notes, source details, confidence labels, and AI diagnostics are not included in client responses.

Request

curl -X POST https://vehicode.eu/api/decode \
  -H "Content-Type: application/json" \
  -H "x-api-key: vdx_your_api_key" \
  -d '{"vin":"WVWZZZAUZHP507470"}'

Response

Vehicle reportVIN segments, manufacturer, model, body style, year, optional specs

Usage metadatalimit, remaining, resetAt

{
  "report": {
    "vin": "WVWZZZAUZHP507470",
    "wmi": "WVW",
    "vds": "ZZZAUZ",
    "vis": "HP507470",
    "validFormat": true,
    "manufacturer": "Volkswagen",
    "model": "Golf",
    "bodyStyle": "Combi",
    "modelYear": "2017",
    "vehicleType": "Passenger car",
    "region": "Europe"
  },
  "usage": {
    "limit": 5000,
    "remaining": 4999,
    "resetAt": "2026-08-01T00:00:00.000Z"
  }
}

Usage limits

Handling 429 responses

When the monthly subscriber limit is reached, decode requests pause until the next reset or until the plan is upgraded.

{
  "error": "Monthly subscriber decode limit reached.",
  "limit": 100,
  "remaining": 0,
  "resetAt": "2026-08-01T00:00:00.000Z"
}

Response headers

Usage and auth metadata

Successful and limited responses include rate-limit headers. Subscriber requests also include the authenticated workspace slug.

Auth modeX-Vehicode-Auth

Shows whether the request used an API key or public access.

WorkspaceX-Vehicode-Client

Subscriber workspace slug when an API key is used.

Monthly limitX-RateLimit-Limit

Plan limit for authenticated usage.

RemainingX-RateLimit-Remaining

Requests left in the current usage window.

Reset timeX-RateLimit-Reset

Unix timestamp for the next usage reset.

Corrections

Report incorrect decodes

Use POST /api/report-decode-issue when your system knows the expected manufacturer, model, body style, model year, and a short note. Reports are queued for admin review.

curl -X POST https://vehicode.eu/api/report-decode-issue \
  -H "Content-Type: application/json" \
  -H "x-api-key: vdx_your_api_key" \
  -d '{
    "vin": "WVWZZZAUZHP507470",
    "expectedManufacturer": "Volkswagen",
    "expectedModel": "Golf",
    "expectedBodyStyle": "Combi",
    "expectedModelYear": "2017",
    "note": "Customer record confirms this is a Golf Variant."
  }'