API Documentation

RegCheck API — Implementation Guide

The RegCheck API supports two integration methods: HTTP GET (recommended) and SOAP/ASMX (legacy). HTTP GET is simpler and works in any language — just construct a URL with your registration number and username, and parse the JSON response.

How it works

Every endpoint supports a plain HTTP GET request. The response is XML, but contains a vehicleJson field with all the vehicle data as a JSON string — so in practice you only need an HTTP client and a JSON parser.

GET https://www.regcheck.org.uk/api/reg.asmx/Check?RegistrationNumber=YY07XHH&username=YOUR_USERNAME

Parse the returned XML, extract vehicleJson, then decode the JSON.


C#

using System.Net.Http;
using System.Xml.Linq;
using Newtonsoft.Json.Linq;

var client = new HttpClient();
var url = "https://www.regcheck.org.uk/api/reg.asmx/Check"
        + "?RegistrationNumber=YY07XHH&username=YOUR_USERNAME";

var xml = await client.GetStringAsync(url);
var vehicleJson = XDocument.Parse(xml).Root.Element("vehicleJson").Value;
var vehicle = JObject.Parse(vehicleJson);

Console.WriteLine(vehicle["Description"]);

JavaScript (fetch)

const reg = "YY07XHH";
const username = "YOUR_USERNAME";
const url = `https://www.regcheck.org.uk/api/reg.asmx/Check?RegistrationNumber=${reg}&username=${username}`;

const res  = await fetch(url);
const text = await res.text();
const xml  = new DOMParser().parseFromString(text, "text/xml");
const json = JSON.parse(xml.querySelector("vehicleJson").textContent);

console.log(json.Description);

Python

import requests
import xml.etree.ElementTree as ET
import json

url = "https://www.regcheck.org.uk/api/reg.asmx/Check"
params = {"RegistrationNumber": "YY07XHH", "username": "YOUR_USERNAME"}

response = requests.get(url, params=params)
root = ET.fromstring(response.text)
vehicle = json.loads(root.find("{http://regcheck.org.uk}vehicleJson").text)

print(vehicle["Description"])

PHP

<?php
$url = "https://www.regcheck.org.uk/api/reg.asmx/Check"
     . "?RegistrationNumber=YY07XHH&username=YOUR_USERNAME";

$xml  = simplexml_load_file($url);
$json = json_decode($xml->vehicleJson);

echo $json->Description;

Ruby

require "net/http"
require "rexml/document"
require "json"

uri = URI("https://www.regcheck.org.uk/api/reg.asmx/Check")
uri.query = URI.encode_www_form(RegistrationNumber: "YY07XHH", username: "YOUR_USERNAME")

xml  = Net::HTTP.get(uri)
doc  = REXML::Document.new(xml)
json = JSON.parse(doc.elements["//vehicleJson"].text)

puts json["Description"]

Go

package main

import (
    "encoding/json"
    "encoding/xml"
    "fmt"
    "io"
    "net/http"
)

type Response struct {
    VehicleJson string `xml:"vehicleJson"`
}

func main() {
    url := "https://www.regcheck.org.uk/api/reg.asmx/Check" +
           "?RegistrationNumber=YY07XHH&username=YOUR_USERNAME"

    resp, _ := http.Get(url)
    body, _ := io.ReadAll(resp.Body)

    var result Response
    xml.Unmarshal(body, &result)

    var vehicle map[string]interface{}
    json.Unmarshal([]byte(result.VehicleJson), &vehicle)

    fmt.Println(vehicle["Description"])
}

cURL

curl "https://www.regcheck.org.uk/api/reg.asmx/Check?RegistrationNumber=YY07XHH&username=YOUR_USERNAME"

SOAP / ASMX (legacy)

If your platform requires SOAP, the WSDL is available at https://www.regcheck.org.uk/api/reg.asmx?wsdl. In .NET you can add it as a Web Reference (legacy projects) or a Connected Service (modern projects). Most developers will find the HTTP GET approach above significantly simpler.