Developers
The MrVIN API
One authenticated endpoint buys a vehicle report. Read it back free for 30 days. Everything you need to integrate is on these pages, and every example is a request you can paste into a terminal.
Start with the quickstartReference
Six pages. If you read one before going to production, make it the life of a report: it is the difference between paying once per vehicle and paying every time.
Quickstart
Five minutes from a key to a vehicle report. Every example below is a real request against https://api.mrvin.com. Replace the key with your own.
Authentication
Keys, rotation, IP restrictions, and what to do when a key stops working.
The life of a report
The one page to read before you go to production. What you pay for, what you do not, and why a report sometimes arrives unfinished.
Errors
One error shape for the whole API, the full code table, and what is worth retrying.
Billing
Prepaid or postpaid, what counts as billable, and how to reconcile a statement against your own logs.
Versioning and deprecation
The version is in the URL. This page is the commitment you can build against.
The whole thing in one request
This is the entire product surface. A VIN goes in, a report comes back, and the id you get lets you read it again without paying twice.
curl -X POST https://api.mrvin.com/v1/reports \
-H "Authorization: Bearer mrvin_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"vin": "WVWZZZ1JZ3W386752"}'
Worth knowing before you start
- Buying is a POST, reading is a GET. Nothing that retries can spend your money by accident.
- Reading a report back is free for 30 days, however many times you do it. Polling while slow sections finish costs nothing.
- Failed calls are never billed. A bad VIN, a rate limit, an outage on our side: none of them cost you.
- Ignore fields you do not recognise. We add data to reports without changing the version, so a strict client will break on a routine release.
- Accounts are set up by hand. Pricing, charge window and limits are agreed with you rather than picked from a plan table.
Where things stand
The API description at api.mrvin.com/v1/openapi is generated from the running service, so it always matches what is deployed. Access is granted per account and onboarding is manual, so the fastest route in is to tell us what you are building.