VIN decoder (NHTSA)

$0.004 per call · USDC via x402 · GET /api/vin-decode

Decode a vehicle VIN via NHTSA vPIC: make, model, year, trim, body class, engine, fuel, plant, and vehicle type. Send GET /api/vin-decode with the required field vin and pay $0.004 per call over x402 or MPP (there is no free tier). It returns a JSON object with vin, vehicle and source.

Accepts full or partial VINs (partial needs modelYear). Live gov data, no key. ?vin=1HGCM82633A004352

Category: Live public data · Tags: nhtsa vin vehicle car decoder government

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
vinstringyes17-char VIN (or a partial VIN with * wildcards)
modelYearnumbernoModel year - helps decode a partial VIN

Example request

curl -i "https://agent402.tools/api/vin-decode?vin=1HGCM82633A004352"

Without payment this returns HTTP 402 Payment Required with the exact price for vin-decode; any x402 v2 or MPP client pays it and retries.

Example response

{
  "vin": "1HGCM82633A004352",
  "vehicle": {
    "make": "HONDA",
    "model": "Accord",
    "year": "2003",
    "trim": null,
    "bodyClass": "Coupe",
    "vehicleType": "PASSENGER CAR",
    "engineCylinders": "6",
    "fuelType": "Gasoline",
    "plantCity": "MARYSVILLE",
    "manufacturer": "AMERICAN HONDA MOTOR CO., INC."
  },
  "source": "vpic.nhtsa.dot.gov (public domain)"
}
FieldTypeAlways presentIn the example
vinstringyes1HGCM82633A004352
vehicleobjectyes10 fields: make, model, year, trim, bodyClass, vehicleType
sourcestringyesvpic.nhtsa.dot.gov (public domain)

From an MCP client

catalog.call {
  "slug": "vin-decode",
  "params": {
    "vin": "1HGCM82633A004352"
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for vin-decode; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/vin-decode?vin=1HGCM82633A004352");

Related tools

Vehicle recalls (NHTSA)

$0.004 · GET /api/vehicle-recalls

NHTSA safety recalls for a vehicle by make/model/year: campaign number, affected component, summary, consequence, and re…

US college lookup (Scorecard)

$0.004 · GET /api/college-lookup

Look up US colleges by name via the Dept. of Education College Scorecard: state, out-of-state tuition, overall admission…

FDA medical device recalls

$0.004 · GET /api/device-recalls

Search FDA medical-device recall / enforcement records (openFDA): recalling firm, classification (Class I/II/III), reaso…

FDA drug adverse events

$0.001 · GET /api/drug-adverse-events

Top reported adverse reactions for a drug from the FDA FAERS database (openFDA), ranked by report count - a fast read on…

FDA drug recalls

$0.004 · GET /api/drug-recalls

Search FDA drug recall / enforcement records (openFDA): recalling firm, classification (Class I/II/III), reason, distrib…

Recent earthquakes (USGS)

$0.002 · GET /api/earthquakes

Real-time USGS earthquake feed: magnitude, place, time, depth, coordinates. Live government data, no key. ?minMag=4.5&pe…