Start here
Most UK regulatory data is published free, in bulk, by the regulator itself. The problem is rarely access. It is that each body publishes on its own schedule, in its own format, with its own idea of what counts as an archive, and almost none of them tell you when a record has been withdrawn.
Quick answer: for UK company records use the Companies House API; for competition cases use the CMA case register on GOV.UK; for data protection enforcement use the ICO's action register; for statute and case law use legislation.gov.uk and Find Case Law; for market and consumer statistics use the ONS API. All five are free and none require a commercial licence for internal analysis.
Below are fifteen sources we use regularly, grouped by what they cover. For each one we have noted the practical catch, because that is the part you only find out after building against it.
Competition and markets
1. CMA case register
Every Competition and Markets Authority investigation, merger review and market study, with the case documents attached. This is the primary record for UK competition enforcement.
The catch: the case list is paginated HTML with no bulk export and no API. Document URLs are stable once published but the case page is edited in place as a case progresses, so a document that existed last month may no longer be linked. If you need a defensible record of what was published when, you have to keep your own copies and timestamps.
2. CMA publications and guidance
Decisions, remedy notices, consultation responses and the guidance documents that explain how the CMA interprets its own powers.
gov.uk/government/organisations/competition-and-markets-authority
The catch: this sits on the shared GOV.UK publishing platform, which means filters and pagination behave the same as every other department, and also that withdrawn documents are usually left in place with a banner rather than removed. Read the banner before you cite anything.
Data protection
3. ICO enforcement action
Fines, enforcement notices, reprimands and undertakings issued by the Information Commissioner's Office, with the reasoning behind each one.
ico.org.uk/action-weve-taken/enforcement
The catch: the register is filterable by year and action type but the underlying decision notices are PDFs of varying structure, and the monetary penalty figure is often only in the PDF rather than in the listing. Anyone quoting ICO totals without parsing the notices is quoting the headline, not the amount finally paid, which sometimes differs after appeal.
Companies, charities and insolvency
4. Companies House API
The full UK register: company profiles, officers, filing history, charges, and the accounts themselves. Free, documented, and genuinely good.
developer.company-information.service.gov.uk
The catch: rate limiting is 600 requests per five minutes per key, which sounds generous until you are walking officer appointments across a group structure. Accounts are filed as iXBRL, so extracting figures means parsing the taxonomy rather than reading a table. Historic accounts predating mandatory digital filing are scanned images with no machine-readable content at all.
5. Companies House search
The human-facing front end to the same register, useful for spot checks and for confirming what a filing actually looks like before you write a parser for it.
find-and-update.company-information.service.gov.uk
The catch: none worth naming. Use the API for anything repeated.
6. Charity Commission register
Registered charities in England and Wales, with annual returns, trustee lists and financial history.
register-of-charities.charitycommission.gov.uk
The catch: Scotland and Northern Ireland maintain separate registers under different regulators, so a UK-wide charity picture needs three sources reconciled by name and number, and the numbering schemes do not match.
7. Insolvency Service statistics
Company and individual insolvency volumes, by procedure type and by period.
gov.uk/government/collections/insolvency-service-official-statistics
The catch: these are aggregate statistics, not a case-level register. Individual insolvency records live in the separate Individual Insolvency Register, and the two do not reconcile cleanly because of timing differences in when a case is counted.
Financial services
8. FCA Financial Services Register
Every firm and individual authorised by the Financial Conduct Authority, with permissions, status history and disciplinary record.
The catch: permissions are the interesting field and also the hardest to work with, because a firm's permission set is a nested structure of regulated activities, investment types and customer types rather than a flat list. Comparing two firms' permissions properly means modelling that nesting, not string-matching.
Legislation, case law and Parliament
9. legislation.gov.uk
Acts of Parliament and Statutory Instruments, in both the version as enacted and the version currently in force.
The catch: the distinction between "as enacted" and "as in force" is the whole game and it is easy to get wrong. Some provisions are amended by instruments that have themselves been revoked. The site marks unapplied amendments clearly, so read the annotations rather than assuming the displayed text is current.
10. Find Case Law
Judgments and tribunal decisions from the courts of England and Wales, published by the National Archives with neutral citations.
caselaw.nationalarchives.gov.uk
The catch: coverage is strong from 2003 onward and patchy before that, so any analysis spanning decades will show a volume cliff that is an artefact of digitisation rather than a change in litigation. There is an Atom feed and an API, and the licence permits computational analysis, which is unusual and worth knowing.
11. UK Parliament Members API
Members of both Houses, their voting records, registered interests and committee memberships.
The catch: members are identified by an internal ID that is stable, but the same person can appear under different names across a career, and constituency boundaries change between elections. Joining Parliament data to anything else on name alone will produce quiet errors.
Sector regulators
12. Ofcom research and data
Communications market data: broadband and mobile coverage, pricing, consumer complaints by provider.
ofcom.org.uk/research-and-data
The catch: coverage data is modelled rather than measured in most releases, and the modelling methodology changes between editions. Year-on-year comparisons need the methodology notes read first.
13. Ofgem energy data
Energy market data, supplier performance, and the registers behind the various support and obligation schemes.
ofgem.gov.uk/energy-data-and-research
The catch: scheme registers are published as spreadsheets whose column layouts change without notice between updates. Build the parser to fail loudly on an unexpected header rather than to guess.
14. Care Quality Commission data
Inspection ratings and reports for health and social care providers in England, with the underlying directory of locations.
cqc.org.uk/about-us/transparency/using-cqc-data
The catch: a provider and a location are separate entities with separate identifiers, and ratings attach to locations. Aggregating to provider level requires a deliberate decision about how to weight locations, and different published analyses make different choices.
15. Food Standards Agency
Food hygiene ratings, food business registrations, and recall and allergy alerts.
The catch: hygiene ratings are collected by local authorities and passed upward, so the refresh lag varies by council. Scotland operates a different rating scheme, which means a UK-wide comparison is not comparing like with like.
Statistics and property
Office for National Statistics API
The official statistics backbone: retail sales, inflation, labour market, business demography, and much else, available programmatically.
The catch: many series are revised after first publication, and the revision is not always flagged in the API response. If a figure matters, record the version and the access date alongside it. Series are also occasionally discontinued and replaced with a differently-defined successor.
HM Land Registry Price Paid Data
Every residential property sale in England and Wales lodged for registration, with price, date, postcode and property type.
gov.uk/government/statistical-data-sets/price-paid-data-downloads
The catch: records appear only once registration completes, so the most recent months are always incomplete and will fill in later. Anyone reporting a fall in transaction volumes from the latest release is usually reporting the registration lag.
What none of these give you
Two things, consistently.
The first is deletion. Almost no UK regulator publishes a machine-readable signal when a record is withdrawn, corrected or superseded. Records simply stop appearing in the listing. If your pipeline only adds what it finds, it will quietly accumulate documents the regulator no longer stands behind. The fix is to diff each collection run against the last and treat disappearance as an event worth recording.
The second is a stable idea of identity. Company numbers are reliable. Almost nothing else is. Firm names change, locations get re-registered under new identifiers, constituencies are redrawn, and the same organisation appears differently in three registers. Any project that joins two regulatory sources together will spend more time on entity resolution than on extraction.
If you want either of those handled as part of a feed rather than as your own engineering problem, that is the sort of work we do. Our data collection service covers ongoing extraction from sources like these, including change detection, and you can ask for a sample against whichever source you care about.