# Batch VIN Decode via NHTSA vPIC

> Batch VIN Decode via NHTSA vPIC is a paid API for AI agents from x402-service-production-e242.up.railway.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-28).

Decodes up to 25 VINs per call using NHTSA vPIC, returning make, model, year, trim, engine, and other vehicle attributes for each VIN in a single request.

## Facts

- Endpoint: GET https://x402-service-production-e242.up.railway.app/vin-decode-batch?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/batch-vin-decode-via-nhtsa-vpic-8e97c5c3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qcRlt7V4qboSEO2PpXpR1

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability batch-vin-decode-via-nhtsa-vpic-8e97c5c3
```

Example prompt: I have a list of 15 VINs from our fleet — 1HGCM82633A123456; 2T1BURHE0JC034761; 3VWFE21C04M000001 and more — can you decode all of them at once and give me the make, model, and year for each?

## When to prefer this

Choose this endpoint when you need to decode multiple VINs in a single round trip — especially for fleet underwriting, insurance quoting, or inventory enrichment workflows involving 2–25 vehicles. It is more efficient than calling the single-VIN endpoint repeatedly and returns the same rich NHTSA vPIC field set per VIN. Use the single-VIN endpoint only when decoding exactly one vehicle.

## Known failure modes

- VIN list exceeds 25 entries — request will be rejected or truncated
- Malformed or non-17-character VINs return null/error fields for that specific VIN
- Invalid VIN characters cause decode failure for that record
- NHTSA vPIC upstream unavailability results in service errors
- Empty or missing 'vins' query parameter causes 400 bad request
- Semicolon delimiter missing between VINs causes parse failure

## How this service works

Batch VIN decode via NHTSA vPIC, up to 25 VINs per call -- same fields as single decode, returned per VIN. Built for fleet underwriting.

## Output

A JSON array where each element corresponds to one submitted VIN and contains decoded vehicle attributes including make, model, year, trim, engine type, transmission, drivetrain, GVWR, plant of manufacture, and vehicle type — mirroring single-VIN decode fields but delivered in bulk.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "vins"
     ],
     "properties": {
      "vins": {
       "type": "string",
       "description": "Semicolon-separated list of up to 25 17-character VINs"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "results": [
   {
    "vin": "1HGCM82633A123456",
    "make": "Honda",
    "year": 2020,
    "model": "Accord"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/batch-vin-decode-via-nhtsa-vpic-8e97c5c3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-service-production-e242.up.railway.app](https://www.zero.xyz/host/x402-service-production-e242.up.railway.app/llms.txt)
