Check a car
Developers

API and MCP for agents

Check a UK used car from your code or your agent, by plate or by advert link, with advice for the viewing. Five calls, one key, the same credits as the site. Read this page as markdown.

RegTail checks UK used cars. Give it a registration plate or a link to an advert and it returns the full report: identity, every MOT test with its defects and advisories, mileage checks, problems by part, signs of a cloned plate, the seller's claims tested against the records, a verdict and a checklist for the viewing. Sources: the DVSA MOT history, the DVLA record, the advert, and our analysis of the national MOT data.

The same five calls work over HTTP (https://regtail.com/api/v1) and as MCP tools (https://regtail.com/mcp), with the same key and the same credits. This page is also plain markdown at https://regtail.com/docs/agents.md, so an agent can read it and set itself up.

Test it in 30 seconds

The key rt_test_sample is public and needs no sign-up. Any key starting rt_test_ returns one real sample car (CX52HHM, the one on our sample report) and spends nothing. Inputs are still checked, so a bad plate still gets a 422.

K="Authorization: Bearer rt_test_sample"
curl -H "$K" https://regtail.com/api/v1/vehicles/AB12CDE
curl -H "$K" -X POST -H "content-type: application/json" -d '{"url": "https://www.ebay.co.uk/itm/366702119761"}' https://regtail.com/api/v1/adverts
curl -H "$K" https://regtail.com/api/v1/vehicles/AB12CDE/advice
curl -H "$K" https://regtail.com/api/v1/credits
curl -H "$K" https://regtail.com/api/v1/plates/AB12CDE

MCP, with the sample key:

{"mcpServers": {"regtail": {"url": "https://regtail.com/mcp", "headers": {"Authorization": "Bearer rt_test_sample"}}}}

To try the MCP endpoint by hand, run the open-source MCP Inspector with npx @modelcontextprotocol/inspector. In the page it opens, choose the Streamable HTTP transport, enter https://regtail.com/mcp, add the header Authorization: Bearer rt_test_sample, connect, then list and call the tools.

Calls and tools

MCP tool HTTP Cost
check_vehicle GET /api/v1/vehicles/{plate}?advert_url= 1 credit
check_advert POST /api/v1/adverts with {"url": "..."} 1 credit
viewing_advice GET /api/v1/vehicles/{plate}/advice Free for 30 days after a paid check of the same car, otherwise 1 credit
credits_balance GET /api/v1/credits Free
decode_plate GET /api/v1/plates/{plate} Free

Plates take any spacing and case. Give advert_url with a plate to test the seller's claims in that advert. Every field is in the reference at https://regtail.com/docs and the schema at https://regtail.com/openapi.json, with examples from the sample car.

Get a key

Open https://regtail.com/?account=keys, sign in, and choose Create a new key. The key (rt_live_...) is shown once: put it in your secrets store, never in code. Revoke it on the same screen if it leaks. Send it on every call as Authorization: Bearer rt_live_.... There is no free tier through the API; the free check is on the website.

Connect an agent

Add the server to your agent's MCP settings with your key:

{"mcpServers": {"regtail": {"url": "https://regtail.com/mcp", "headers": {"Authorization": "Bearer rt_live_..."}}}}

Most agent clients read this shape from their MCP settings file. Some name the URL field serverUrl, or take the URL and header as command line options instead. The endpoint is stateless Streamable HTTP and answers in plain JSON. Each tool's description says when to use it, what it costs and what it returns.

Pricing and charges

A paid call spends 1 credit: 1 credit for £2.99, 5 credits for £9.99, 15 credits for £19.99. Bought credits do not expire.

Errors

Every error has the same shape, over HTTP and as MCP tool errors:

{"error": {"code": "payment_required", "message": "No credits left. Top up at ...", "docs_url": "https://regtail.com/docs/agents#errors", "top_up_url": "...", "credits_remaining": 0}}
Status Codes Meaning
401 unauthorized No key, or an unknown or revoked one.
402 payment_required No credits left. Nothing was charged; top_up_url opens the credit packs.
422 invalid_plate, invalid_url, invalid_request Bad input. Nothing is charged.
422 no_plate, blocked, mismatch No plate could be found or trusted in the advert. Refunded; ask for the plate and check it by plate.
429 rate_limited Too many calls. Wait for the Retry-After header's seconds.
5xx advice_unavailable, server_error Our side failed. Nothing is charged; try again later.

What we do not check

RegTail does not check outstanding finance, the police stolen register or the insurance write-off register: those are private databases. A report says so rather than implying a clear result, and an agent should say so too. Ask the seller for a finance settlement letter, and use a provider that holds those registers if you need them confirmed.

Use of the API is covered by our terms. Questions: sunnier-larches25@icloud.com.