# buy.vin > Buy any car by its VIN, end to end online — the proven 7-step checklist. You found the car. Paste its VIN; the record does everything else — pre-approval to driveway, one deal ledger, distance-to-done at every step. Motions: B2A2C · B2H2A Routes: GET / (this document's page) · GET /{VIN} (the record for one vehicle) Representations: text/html · text/markdown · application/json (Accept header; same URL) Evidence: every field posts value · source · timestamp · verification state; empty states are typed EMPTY, invalid VINs are typed INVALID_VIN — never a faked 200. Agent surface: one estate MCP server — https://apis.vin/mcp (all .vin doors are lenses over one spine; tools: decode_vin, vehicle_history, market_value, window_sticker, out_the_door_price, open_recalls, search_listings, cash_offer, transport_quote, finance_prequal, insurance_quote, start_purchase) Gates: typed OFFER (posted price, hard ceiling, x402) or NEEDS_HUMAN handoff URL — no account walls. Auth: https://auth.vin (issuer) · keys/metering via id.org.ai Siblings: https://vhr.vin/ — History: records posted for · read before step 1 https://taxes.vin/ — Out-the-door for by zip, free · the deal record picks it up unchanged https://fi.vin/ — Pre-approval: APR posted for · fulfills step 1 https://insure.vin/ — Coverage bound to fulfills step 6 https://transport.vin/ — Delivery quote from two zips · fulfills step 7 https://offers.vin/ — Trade attaches to this deal record; its value posts on the out-the-door line