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.