Reference
API docs
Send your key in X-API-Key (RapidAPI subscribers: RapidAPI adds its own headers). All answers are JSON. The full spec is at /openapi.json.
curl https://via.pronto-guide.com/api/v1/vehicle/AB12CDE?on=2026-10-20 \
-H "X-API-Key: pf_live_..."{
"reg": "AB12CDE",
"on": "2026-10-20",
"found": true,
"vehicle": { "make": "KIA", "model": "CEED", "fuel_type": "PETROL", "colour": "Grey", "year": 2020 },
"mot": { "status": "VALID", "expiry": "2027-03-14", "valid_on_date": true },
"tax": { "status": "BYPASSED_TRADE_PLATE", "note": "Tax isn't checked for this workspace (trade plates)." },
"movable": { "can_drive": true, "trade_plates": "ASSUMED", "electric": false, "reasons": [] },
"checked_at": "2026-10-15T09:12:03Z"
}Endpoints
| Endpoint | What it does | Counts |
|---|---|---|
GET /api/v1/vehicle/{reg}?on= | Details, MOT and tax on the day, can it be driven | 1 |
GET /api/v1/vehicle/{reg}/movable?on= | Just can_drive, trade_plates and reasons | 1 |
GET /api/v1/vehicle/{reg}/mot-history | Every MOT test, mileage, defects, advisories (Ultra and Mega) | 1 |
POST /api/v1/vehicle/batch | Up to 50 regs: { "regs": [...], "on": "YYYY-MM-DD" } | 1 per reg |
GET /api/v1/usage | This month's usage and your modules | 0 |
GET /api/v1/health | Service status, no key | 0 |
Rules it applies
- No valid MOT on the day →
can_drive: false. Trade plates don't cover a missing MOT. This always shows, on every plan. - Untaxed or SORN →
trade_plates: "REQUIRED", unless your workspace runs trade plates, when tax isn't checked at all and the answer isBYPASSED_TRADE_PLATE. - Lookups are remembered for 24 hours, so checking the same car twice in a day is fast.
Errors
| Status | error | Meaning |
|---|---|---|
| 400 | INVALID_REG, INVALID_DATE, INVALID_BODY | Check the request |
| 401 | MISSING_API_KEY, INVALID_API_KEY | Send a valid key |
| 403 | FEATURE_NOT_SUBSCRIBED | That module isn't on your plan |
| 429 | RATE_LIMITED, MONTHLY_LIMIT_REACHED | Slow down, or upgrade |
| 502 / 503 | UPSTREAM_ERROR, LOOKUP_BUSY | DVSA or DVLA didn't answer, or today's cap is reached |