UK HGV Operator Licence Lookup (Official DVSA)
Pricing
from $4.00 / 1,000 licence rows
UK HGV Operator Licence Lookup (Official DVSA)
Look up UK HGV and bus operators in the official DVSA O-licence register by name, postcode or fleet size: licence type, vehicle counts, operating centre postcodes, Companies House link. Companies only — no personal data, addresses as postcodes only. No API key; JSON via API or MCP. $4/1,000 rows.
Pricing
from $4.00 / 1,000 licence rows
Rating
0.0
(0)
Developer
Japan Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Look up Great Britain's official register of goods vehicle (HGV) and bus / coach operator licences — the "O-licence" register kept by the Driver and Vehicle Standards Agency (DVSA) for the Traffic Commissioners. Search haulage and trucking companies (hauliers), own-account fleets and coach operators by company name, Companies House number, postcode, traffic area, licence type and fleet size, and get one flat JSON row per licence: licence number, type and status, vehicles and trailers authorised, operating centre postcodes, renewal date and a Companies House link. No API key, $4 per 1,000 licence rows.
- Companies only — no personal data, addresses as postcodes only. Licences held by sole traders and partnerships are never returned, the names of directors, partners and transport managers are never output, and street addresses are replaced by postcodes. You get about 54,000 of the register's 69,000 licences: those held by limited companies, LLPs and public / charitable organisations.
- Official data, read live on every run. DVSA publishes the register on data.gov.uk (one file per traffic area) under the Open Government Licence v3.0. DVSA describes the files as weekly, but they are sometimes not refreshed for several weeks, so every row carries
dataUpdatedAt— the date DVSA last refreshed the file you are reading. - Built for lead lists. Sorted by fleet size by default, with
minVehicles,licenceType(hire-and-reward "standard" vs own-account "restricted"),vehicleCategory(HGV vs bus / coach) and postcode filters, plus the Companies House number to join with your CRM. - Pay per licence row. $0.004 per licence row plus $0.001 per run; "nothing found" and error rows are free.
What can you do with the UK operator licence data?
- Sell to UK hauliers and fleets. Fuel cards, telematics, tyres, leasing, maintenance, insurance, driver agencies: list every haulage company with 10+ trucks in a postcode area, with its operating centre postcodes and Companies House link (for the registered office address), and refresh the list on a schedule.
- Check a carrier or subcontractor. Before you give a load to a haulier, confirm that the company holds a valid Standard licence, how many vehicles it is authorised for, and when the licence is due for continuation.
- Market research, M&A and credit. Count and rank operators by traffic area, licence type or fleet size; watch fleets grow or shrink by running the Actor on a schedule; join on
companyNumberwith Companies House data. - A UK alternative to US FMCSA carrier lookups. If you already use FMCSA / DOT carrier data for US trucking companies, this is the Great Britain equivalent: the official operator license (licence) register, searchable by fleet size and location.
- AI agents. "Which bus companies operate in Cardiff?", "Is ACME HAULAGE LTD licensed and how many trucks may it run?" — one small JSON row per licence, ready for an LLM.
How to use
- Click Start with the default input: the 50 largest fleets (by vehicles authorised) in Great Britain.
- Narrow it down with any combination of Company name contains, Postcode, Traffic area, Companies House number, Vehicle category, Licence type and Minimum / maximum vehicles.
- Choose how to sort (largest fleet, name, soonest renewal, licence number) and how many rows you want (Maximum licences).
- Download the results as JSON, CSV or Excel, or call the Actor via API / MCP (see below).
- To keep a list fresh, add an Apify Schedule and compare
dataUpdatedAtbetween runs to see whether DVSA has published new files.
Choosing a single Traffic area makes a run faster (only that area's file is read). Postcodes match the correspondence address or any operating centre of a licence.
Input
No input is required; every field has a default.
| Input | Type | Default | What it does |
|---|---|---|---|
operatorName | string | "" | Case-insensitive; every word must appear in the operator's name, e.g. haulage, stobart, coaches. |
postcode | string | "" | Postcode area (CF), district (CF10), sector (CF10 1) or full postcode (CF10 1AA). Matches the correspondence address or any operating centre. |
trafficArea | string | all | all or one of East of England, North East of England, North West of England, London and the South East of England, West Midlands, West of England, Wales, Scotland. |
companyNumber | string | "" | Exact Companies House number, e.g. 01234567 or SC123456 (short numbers are zero-padded). |
vehicleCategory | any / goods / psv | any | goods = HGV (goods vehicle) licences, psv = bus and coach licences. |
licenceType | any / standard / standard_national / standard_international / restricted | any | standard = hire-and-reward operators (national or international); restricted = own-account fleets. |
minVehicles | integer | 0 | Only licences authorising at least this many vehicles. |
maxVehicles | integer | – | Only licences authorising at most this many vehicles. |
sortBy | vehicles / name / continuationDate / licenceNumber | vehicles | Largest fleet first, A–Z, soonest renewal first, or by licence number. |
maxResults | integer | 50 | Maximum number of licence rows (1–70,000). |
Input example
Haulage companies with a Standard licence and at least 10 trucks in the Cardiff (CF) postcode area:
{"vehicleCategory": "goods","licenceType": "standard","postcode": "CF","minVehicles": 10,"maxResults": 100}
Output
One row per operator licence (status: "ok"), sorted as requested. If nothing matches, one free row with status: "not_found" and an error sentence that says what to change; invalid input gives one free status: "error" row.
The first row returned by the input example above (real run, 22 September 2026):
{"status": "ok","licenceNumber": "OG0079437","operatorName": "OWENS (ROAD SERVICES) LTD","operatorType": "Limited Company","companyNumber": "01301976","companiesHouseUrl": "https://find-and-update.company-information.service.gov.uk/company/01301976","licenceType": "Standard National","vehicleCategory": "goods","licenceStatus": "valid","trafficArea": "Wales","vehiclesAuthorised": 345,"trailersAuthorised": 569,"vehiclesSpecified": 267,"operatingCentreCount": 10,"operatingCentresTruncated": false,"operatingCentrePostcodes": "LL13 9XN, NP19 4PU, SA13 2NG, SA12 7DJ, SA14 8YP, SA14 8US, NP26 3DG, CF10 4LU, SA14 8QE, CF31 3XB","correspondencePostcode": "SA14 8QE","postcodeArea": "SA","continuationDate": "2027-11-30","dataUpdatedAt": "2026-09-07T23:02:43Z","fetchedAt": "2026-09-22T05:55:48Z","source": "Driver and Vehicle Standards Agency (DVSA) / Traffic Commissioners for Great Britain - operator licence records (data.gov.uk). Contains public sector information licensed under the Open Government Licence v3.0. Companies and organisations only; personal names removed by this Actor."}
This licence matches CF because two of its operating centres are in the CF (Cardiff) postcode area (CF10 4LU, CF31 3XB), although its correspondence postcode is in the SA (Swansea) area.
When nothing matches (free row):
{"status": "not_found","fetchedAt": "2026-09-22T05:58:53Z","dataUpdatedAt": "2026-09-07T23:02:45Z","error": "No company or organisation operator licence found with name containing \"ZZQQXX NOTHING\" in the Wales traffic area; loosen the filters (e.g. a shorter \"operatorName\", a postcode area such as \"CF\", a lower \"minVehicles\") or set \"trafficArea\" to \"all\". Licences held by sole traders and partnerships are never returned."}
Output fields
| Field | Description |
|---|---|
status | ok, not_found or error. |
licenceNumber | Operator licence number. Starts with O for goods vehicle (HGV) licences and P for bus / coach (PSV) licences; the second letter is the traffic area. |
operatorName | Licence holder (a company or organisation). |
operatorType | Limited Company, Limited Liability Partnership or Other organisation (councils, NHS trusts, charities, universities…). |
companyNumber / companiesHouseUrl | Companies House number as recorded on the licence, and a link to the company's Companies House page (null when there is no usable number). |
licenceType | Standard National, Standard International (hire and reward) or Restricted (own goods / own passengers only). |
vehicleCategory | goods (HGV) or psv (bus and coach). |
licenceStatus | valid, curtailed or suspended (the register lists live licences only). |
trafficArea | Traffic Commissioner area that issued the licence. |
vehiclesAuthorised / trailersAuthorised | Maximum number of vehicles / trailers the licence allows (fleet size). |
vehiclesSpecified | Vehicles currently specified (registered) on the licence. |
operatingCentreCount / operatingCentrePostcodes | Number of operating centres (where the vehicles are kept) and their distinct postcodes, comma-separated. Street addresses are not output (see Privacy). |
operatingCentresTruncated | true when DVSA's file cut the operating-centre list at 1,024 characters (large fleets); the count and postcodes then cover the first centres only. |
correspondencePostcode / postcodeArea | Postcode of the licence's correspondence address, and its postcode area (e.g. CF). For a mailing address use the company's registered office via companiesHouseUrl. |
continuationDate | Date by which the licence must next be continued (renewed), YYYY-MM-DD. |
dataUpdatedAt | When DVSA last refreshed the traffic-area files (UTC; the oldest file date when several areas are read). |
fetchedAt, source | Run time (UTC) and attribution. |
error | On not_found / error rows: one English sentence explaining what to change. |
How much does it cost?
This Actor uses Pay per event pricing — you pay for licence rows, not for compute time:
| Event | Price | When it is charged |
|---|---|---|
Licence row (result-row) | $0.004 ($4 per 1,000 rows) | Each ok row (one licence) |
| Actor start | $0.001 | Once per run |
not_found and error rows are free; the $0.001 start fee is charged once per run, even when nothing is found.
| Example | Rows | Cost |
|---|---|---|
Is this haulier licensed? ({"operatorName": "owens road services", "maxResults": 1}) | 1 | $0.005 |
All licences of one company ({"companyNumber": "01301976"} — 3 licences in 3 traffic areas) | 3 | $0.013 |
| Default run (50 largest fleets in Great Britain) | 50 | about $0.20 |
| Lead list: 500 hauliers with a Standard licence in your region | 500 | about $2.00 |
| Every goods vehicle licence with 75+ vehicles in Great Britain (1,060 licences on 22 Sep 2026) | 1,060 | about $4.24 |
| Whole register (every company licence, about 54,000) | ~54,000 | about $217 |
- Cheapest way to start: check a single company with
maxResults: 1— one row, half a cent. - Set a maximum cost per run when you start the Actor to cap spending; if the limit is reached, the Actor stops cleanly and says so in the status message.
Use via API / MCP (AI agents)
Apify API (HTTP). Run the Actor and get the rows in one call:
curl -X POST "https://api.apify.com/v2/acts/japan-open-data~uk-hgv-operator-licence/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"operatorName": "coaches", "vehicleCategory": "psv", "postcode": "CF", "maxResults": 20}'
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("japan-open-data/uk-hgv-operator-licence").call(run_input={"trafficArea": "Scotland", "licenceType": "standard", "minVehicles": 20, "maxResults": 200,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["status"], row.get("licenceNumber"), row.get("operatorName"), row.get("vehiclesAuthorised"))
MCP (Claude, ChatGPT, Cursor and other AI agents). Add this Actor as a tool through the Apify MCP server (https://mcp.apify.com), for example with ?tools=japan-open-data/uk-hgv-operator-licence. No input is required.
Recommended agent settings:
- "Is company X licensed?" →
{"companyNumber": "<number>"}or{"operatorName": "<name words>", "maxResults": 5}. - "Hauliers near postcode Y" →
{"postcode": "<area or district>", "vehicleCategory": "goods", "licenceType": "standard", "maxResults": 20}. - Keep
maxResultssmall (5–50) for questions; raise it only for list exports. - Always read
statusfirst; onnot_foundtheerrorsentence tells you which filter to loosen. A company that trades as a sole trader or partnership will always benot_found(see FAQ).
Summary for AI agents: Input: optional filters (operatorName, companyNumber, postcode, trafficArea, vehicleCategory, licenceType, minVehicles, maxVehicles, sortBy, maxResults). Output: flat rows, one per Great Britain operator licence held by a company or organisation, with status, licence number/type/status, vehicles and trailers authorised, operating centre postcodes, companyNumber, continuationDate and dataUpdatedAt. No personal names, no street addresses. $0.004 per ok row + $0.001 per run; not_found / error rows are free.
FAQ
Why can't I find an operator I know?
Licences held by sole traders and partnerships are excluded on purpose, because the licence holder is a private person. So are limited partnerships, "
How fresh is the data?
The Actor downloads DVSA's current files on every run, so you always get the latest published version. DVSA describes the register as updated weekly, but in practice the files can go several weeks without a refresh (for example, the files dated 7 September 2026 were still the current ones on 22 September 2026). Check dataUpdatedAt on each row; licences granted, revoked or changed after that date are not reflected yet.
How much does it cost to export a lead list?
$4 per 1,000 licences plus $0.001 per run — for example about $4.24 for all 1,060 goods vehicle licences with 75+ vehicles. See "How much does it cost?" above.
Can I get directors, transport managers or full addresses?
No. The Actor never outputs personal names, and it outputs postcodes only because DVSA's free-text address fields sometimes contain a person's name or a director's home address. Use companiesHouseUrl for a company's registered office address and officers.
Does it cover Northern Ireland?
No. Northern Ireland operator licensing is run separately by the DVA; this register covers Great Britain (England, Wales, Scotland).
Is it legal to use this data?
The register is published by DVSA as open data under the Open Government Licence v3.0, which allows commercial use and re-use with attribution (included in every row's source). The Actor only outputs licences held by companies and organisations. You remain responsible for how you use the data, for example UK direct-marketing rules when you contact companies.
Known limitations
- The operator name is as typed in DVSA's register (often upper case, some odd spacing); postcodes are cleaned up where possible.
- For very large fleets DVSA's file cuts the operating-centre list at 1,024 characters (
operatingCentresTruncated: true);operatingCentreCountandoperatingCentrePostcodesthen cover the first centres only. - Data freshness depends on DVSA (see the FAQ): check
dataUpdatedAt. - A run over all of Great Britain reads about 81 MB of files and takes about 5–10 seconds for small result sets; exporting all 54,000 rows took about 27 seconds in our tests. Keep the default 512 MB memory for large exports.
- A licence appears under the traffic area that issued it; its operating centres can be in other areas. Use
postcodeto search by location. - A few small real companies whose registered name has no company word (e.g. a two-word name that looks like a person's name) are left out as a precaution.
Data source and license
- Source: Driver and Vehicle Standards Agency (DVSA) / Traffic Commissioners for Great Britain, Traffic Commissioners: goods and public service vehicle operator licence records (data.gov.uk).
- License: Open Government Licence v3.0. Contains public sector information licensed under the Open Government Licence v3.0.
- Changes made by this Actor: rows grouped into one row per licence, sole trader / partnership licences and person-like holder names removed, director / partner / transport manager columns dropped, addresses reduced to postcodes, Companies House links added.
- This Actor is not affiliated with, endorsed by or connected to DVSA, the Traffic Commissioners or the UK Government.
Privacy
The register includes private persons (sole traders, partners, directors and transport managers). This Actor:
- returns only licences whose holder is a limited company, an LLP or an organisation such as a council, NHS body, charity or university (for "Other" holders the name must contain an organisation word such as COUNCIL, TRUST or LTD, and "trading as" names are excluded);
- drops sole trader, partnership and limited partnership licences entirely, as well as licences whose holder name reads like people's names (e.g. initials and surnames without a company word) or "
- never reads the director / partner and transport manager columns into its output;
- outputs postcodes only, never street addresses, because the register's free-text address fields can contain people's names and home addresses.
More from Japan Open Data
- UK Visa Sponsor Register Tracker (Daily Changes) — new, removed and downgraded UK visa sponsor licences from the official Home Office register, or check whether a company can sponsor workers.
- US Flood Zone Lookup by Address (FEMA NFHL) — official FEMA flood zone (A, AE, VE, X…), base flood elevation and FIRM panel for any U.S. address or coordinates.
- UK Flood Risk Lookup by Postcode (England) — the other UK dataset in this series: Environment Agency flood zone, recorded flood extents and flood defences for any postcode or coordinates in England, one row per location.
- UK Waste Carrier Licence Check (Environment Agency) — another UK business register in this series (many hauliers also hold a waste carrier registration): check whether a company is a registered waste carrier, broker or dealer in England by registration number, company name or postcode radius, from the Environment Agency's public register (companies and organisations only).
- Mexico Gas Prices API by Station (Official CNE) — today's gas and diesel prices at every Mexican gas station, from the official CNE feed.
- Argentina Fuel Prices API by Station (Official) — last reported gasoline (nafta), diesel and CNG prices at every Argentine gas station, with the report date of each price.
- US Hail History by Location (NOAA NEXRAD Radar) — every hail day near any U.S. latitude/longitude with max estimated hail size.
- US Storm Reports API: Hail, Wind & Tornado (NWS) — U.S. hail, wind, tornado and flood reports from official NWS Local Storm Reports.
- TSA Checkpoint Travel Numbers (Daily, Weekly & YoY) — daily U.S. TSA airport checkpoint traveler counts.
- Japan Postal Code & Address in English — Japanese postal codes and addresses in English/romaji, kanji and kana.
- France Property Risk Lookup by Address (Georisques) — official Géorisques risks for any French address or coordinates: flood, clay shrink-swell, seismic zone, radon, past natural-disaster declarations and nearby industrial / polluted sites, one row per location.
- England Listed Building & Conservation Area Check — official listed buildings, scheduled monuments, conservation areas and Article 4 directions for any postcode or coordinates in England, one row per location.
- UK NHS Organisation Lookup (Official ODS Codes) — GP practices, pharmacies, dentists, hospitals and NHS trusts from the official ODS register, by postcode, type or ODS code (organisations only).
Feedback
Missing a filter or a field? Open an issue on the Actor's Issues tab with your input and what you expected.