Check UK share codes and driving licences from your own software

Four checks, an endpoint each. Send a share code and date of birth to POST /v1/check/right-to-work, POST /v1/check/right-to-rent or POST /v1/check/immigration-status and get gov.uk's answer back as JSON: the outcome or status, dates, conditions, the person's photo and the gov.uk PDF. Send a licence number and the driver's check code to POST /v1/check/driving-licence and get DVLA's record: status, points, the vehicles they can drive and DVLA's PDF.

Four checks, an endpoint each

Right to workEmployers, staffing and HR platforms

Check a candidate can work in the UK before their first day.

You send
share_code, date_of_birth, company_name
Check again
When their permission ends
POST /v1/check/right-to-workRight to work reference
Right to rentLandlords and letting agents in England

Check a tenant can rent in England before the tenancy starts.

You send
share_code, date_of_birth, checker_name (landlord or company), checker_type
Check again
The later of when their permission ends and one year after this check
POST /v1/check/right-to-rentRight to rent reference
Immigration statusBanks, lenders, universities, councils and others

Check a person’s UK immigration status, for an account, a loan, a course, housing or a licence.

You send
share_code, date_of_birth, company_name, job_title, purpose
Check again
When their permission ends, valid_until. null when there is no limit
POST /v1/check/immigration-statusImmigration status reference
Driving licenceEmployers, fleets, hire firms and anyone who lets people drive

Check a driver’s licence before they drive for you: status, points and the vehicles they can drive.

You send
licence_number, check_code
Check again
With a new code from the driver: a code works once. flags warn 90 days before the licence or a category ends
POST /v1/check/driving-licenceDriving licence reference
Right to work: POST /v1/check/right-to-work
{
  "share_code": "AB1CD2EF3",
  "date_of_birth": "1990-01-01",
  "company_name": "Acme Ltd"
}
Driving licence: POST /v1/check/driving-licence
{
  "licence_number": "MORGA753116SM9IJ",
  "check_code": "Hb Rh fp 7g"
}
Right to rent: POST /v1/check/right-to-rent
{
  "share_code": "AB1CD2EF3",
  "date_of_birth": "1990-01-01",
  "checker_name": "Acme Property Ltd",
  "checker_type": "landlord"
}
Immigration status: POST /v1/check/immigration-status
{
  "share_code": "AB1CD2EF3",
  "date_of_birth": "1990-01-01",
  "company_name": "Example Bank, Leeds branch",
  "job_title": "Account opening officer",
  "purpose": "personal_finance"
}

Start here

Quickstart in your language

Guides

Reading this as an LLM or agent? Start at /llms.txt for an index, or /llms-full.txt for the whole integration in one file. Add .md to any docs URL for plain Markdown. Tell your agent which check you need: it picks the endpoint, and sends the fields only that check takes, such as checker_type for right to rent, purpose for immigration status or check_code for a driving licence.