VIN Decoder & Window Sticker API for Developers

The VIN data your app needs, on one key: full NHTSA decode with open recall campaigns, and original factory window stickers — the actual Monroney PDFs, fetched live for 12 brands (Ford, Lincoln, Chevrolet, GMC + 8 more). Start with a 7-day free trial, then flat $49/month for 1,000 calls. No per-VIN pricing, no sales call, key in your inbox in two minutes.

Cancel anytime · key deactivates at cycle end

Developer

$49/mo

1,000 calls/month · 7-day free trial

Scale

$250/mo

25,000 calls/month

Production

$499/mo

75,000 calls/month

VIN decode + recalls

Year, make, model, trim, engine, plant, GVWR from NHTSA vPIC — with every open recall campaign in the same response.

Original window stickers

Availability check as JSON, or the factory Monroney PDF itself. 12 brands: Ford, Lincoln, Chevrolet, GMC, Buick, Cadillac, Chrysler, Dodge, Jeep, Ram, Hyundai, Genesis.

Built for production

Keyed auth, per-key metering, stable JSON contracts, and a human at [email protected] when something looks off.

Seven endpoints, one key, zero ceremony

Auth is a single x-api-key header.

EndpointReturns
GET /api/dealer/v1/window-sticker?vin=…Original factory Monroney PDF (or ?format=check for availability JSON) — 12 brands incl. China-built GM VINs
GET /api/dealer/v1/decode?vin=…Full NHTSA decode: year/make/model/trim, engine, plant, GVWR + open recall campaigns
GET /api/dealer/v1/specs?make=…&model=…&year=…Per-configuration engines, transmissions, drivetrains, EPA MPG — every US model year since 1984
GET /api/dealer/v1/recalls?make=…Current recall campaigns for a brand, newest first, with do-not-drive flags
GET /api/dealer/v1/value?make=…&model=…Used-market median values by model year, from live US listings
GET /api/dealer/v1/parse-sticker?vin=…Sticker fetched AND parsed: base MSRP, destination, total, every option with its price — structured JSON, no PDF handling. POST a sticker PDF to parse your own. Counts as 5 calls; failed parses are free.
GET /api/dealer/v1/image?make=…&model=…Clean studio-style vehicle render (CarWhere-generated imagery — no stock-photo licensing). Optional &year= and &format=redirect for direct <img> use.

GET /api/dealer/v1/decode

curl -H "x-api-key: YOUR_KEY" \
  "https://www.carwhere.com/api/dealer/v1/decode?vin=1GKS2JKL0TR171996"

GET /api/dealer/v1/window-sticker

# availability check (JSON)
curl -H "x-api-key: YOUR_KEY" \
  "https://www.carwhere.com/api/dealer/v1/window-sticker?vin=1GKS2JKL0TR171996&format=check"

# the original factory PDF
curl -H "x-api-key: YOUR_KEY" -o sticker.pdf \
  "https://www.carwhere.com/api/dealer/v1/window-sticker?vin=1GKS2JKL0TR171996"

GET /api/dealer/v1/parse-sticker — the sticker as data, not a PDF

The only API anywhere that turns a Monroney into structured JSON: original MSRP, destination charge, and every factory option with its price. Option sums are reconciled against the printed options total and graded with a confidence field. Counts as 5 calls; a VIN we can't fetch or a document we can't read is never charged.

# fetch the factory sticker AND parse it — one call, structured JSON back
curl -H "x-api-key: YOUR_KEY" \
  "https://www.carwhere.com/api/dealer/v1/parse-sticker?vin=1GTPHGE80TZ138393"

{
  "vehicle": "2026 GMC SIERRA 1500 DENALI",
  "baseMsrp": 65900,
  "destinationCharge": 2595,
  "totalMsrp": 72055,
  "optionsTotal": 3560,
  "options": [
    { "name": "TECHNOLOGY PACKAGE", "price": 1275 },
    { "name": "POWER SUNROOF", "price": 995 },
    { "name": "ENG: DURAMAX 3.0L TURBO-DIESEL", "price": 795 },
    { "name": "STERLING METALLIC", "price": 495 }
  ],
  "exteriorColor": "STERLING METALLIC",
  "interiorColor": "JET BLACK",
  "engine": "DURAMAX 3.0L TURBO-DIESEL",
  "transmission": "10-SPEED AUTO",
  "confidence": "high"
}

# or POST a sticker PDF you already have
curl -X POST -H "x-api-key: YOUR_KEY" -H "Content-Type: application/pdf" \
  --data-binary @sticker.pdf "https://www.carwhere.com/api/dealer/v1/parse-sticker"

Frequently asked questions

What do I get with the API key?

Seven production endpoints on one key: vehicle images (clean CarWhere-generated renders by make/model/year), original window stickers (availability JSON or the factory Monroney PDF), sticker parsing (fetch + parse to structured JSON — MSRP, destination, total, itemized options), full VIN decode with the vehicle's open recalls, per-configuration specs for every US model year since 1984, a current-recall-campaigns feed per brand, and used-market values by model year from live listings. 1,000 calls/month, flat — a request is one call, except parse-sticker, which counts as five; a parse that fails is never charged.

Which brands have window stickers?

Exactly these 12, fetched live from the manufacturer source: Ford, Lincoln, Chevrolet, GMC, Buick, Cadillac, Chrysler, Dodge, Jeep, Ram, Hyundai, Genesis. Toyota, Honda, and most import brands do not publish a public sticker endpoint, so no provider can fetch their original Monroneys — if an API claims otherwise, it is not the factory document. VIN decode and recalls work for every brand.

Are the recalls VIN-specific repair statuses?

They are the open NHTSA recall campaigns applicable to that VIN’s vehicle. Whether an individual car already had the recall work performed is dealer-service-records data that NHTSA does not publish — no API can honestly claim it.

How is this different from the free tools on carwhere.com?

The free tools are for people in a browser and stay free, and light manual/agent lookups on the open endpoint are fine. The API key is for software in production: a guaranteed lane with its own rate limits, stable JSON contracts, usage metering, and support — instead of building on an anonymous endpoint that is rate-limited per IP and tuned for humans.

I’m a dealership — is this my plan?

Dealership rooftops wanting the sticker widget and per-rooftop setup have their own plan at carwhere.com/dealers/window-sticker-widget. This $49 developer plan is for software teams integrating the raw API.

What happens when I hit my monthly limit?

Calls return HTTP 429 until your billing cycle renews. Need more volume? Reply to your key email or write [email protected] — higher-volume plans are available.

How do I rotate or manage my key?

Self-serve at carwhere.com/api-keys — enter the email your key was issued to, click the emailed link, and rotate in one click. The old key stops working immediately and the new one is shown once.

How fast do I get my key?

Instantly: checkout is self-serve through Stripe (7-day free trial on the $49 plan, card up front), and your key is emailed the moment checkout completes. Cancel anytime — during the trial you pay nothing, and the key deactivates when the subscription ends.

Can I show the window-sticker PDFs to my users?

Yes — that is the point. The PDFs are the original factory documents fetched live from the manufacturer source. We ask that CarWhere attribution on the documents stays intact.

Guides with working code

Building an AI agent? The agents hub covers the hosted MCP server, the ChatGPT app, and when to move to this key.

Ship it this afternoon.

Self-serve checkout, key by email, two curl commands and you're live.