Documentation
UK Data Layer API
One REST API over the UK company register, joined to website-derived business intelligence. Every endpoint returns JSON, uses the same authentication, and states plainly when a value is not disclosed.
Getting started
All endpoints live under https://api.ukdatalayer.com/v1. Requests are GET unless
stated otherwise, and every response is JSON.
Authentication
Authenticate in whichever of these three ways suits your client:
# 1. Query string
curl "https://api.ukdatalayer.com/v1/company?key=YOUR_KEY&company_number=00000042"
# 2. Bearer token
curl "https://api.ukdatalayer.com/v1/company?company_number=00000042" \
-H "Authorization: Bearer YOUR_KEY"
# 3. Custom header
curl "https://api.ukdatalayer.com/v1/company?company_number=00000042" \
-H "X-API-Key: YOUR_KEY"Credits
Each plan includes a monthly credit allowance and every request costs exactly 1 credit, whichever endpoint you call — no credit calculus. The cost is
returned as credits_used on every response. Failed requests — bad
parameters, unknown company numbers, server errors — never consume credits.
Check your balance any time with /account/credits, which is free to call.
Rate limits & CORS
Requests are limited to 10 per second on Build and 50 per second on Scale. Exceeding the
limit returns 429 with a Retry-After header. CORS is enabled, so
the API can be called directly from a browser — though you should proxy through your own
backend rather than exposing a key client-side.
Response conventions
- Missing means missing. A field that was not disclosed returns
null, never0. Most small UK companies are not required to publish a profit and loss account, so a null turnover is normal and expected. - Dates are ISO 8601. Always
YYYY-MM-DD. Officer dates of birth are month precision only (YYYY-MM), as published. - Money is a plain number in GBP. No currency symbols, no strings, no minor units.
- Company numbers are forgiving.
42,00000042andUK-00000042all resolve to the same company.
Endpoints
10 endpoints across 6 groups. Every one takes your API key and returns the same response envelope.
Company
The registry record: identity, status, addresses and filing history.
| Endpoint | Description | Cost |
|---|---|---|
| /company | Full company record for a single company number. | 1 credit |
| /company-filings | Filing history for a company, newest first. | 1 credit |
Business intelligence
What the company actually does, derived from its verified website.
| Endpoint | Description | Cost |
|---|---|---|
| /intelligence | What the company does, from its verified website. | 1 credit |
Financials
Normalised accounts, growth rates and filing availability.
| Endpoint | Description | Cost |
|---|---|---|
| /financials | Normalised accounts and growth rates. | 1 credit |
People & ownership
Officers, PSCs, shareholders and corporate group structure.
| Endpoint | Description | Cost |
|---|---|---|
| /officers | Directors and secretaries, current and resigned. | 1 credit |
| /ownership | PSCs, shareholders and control structure. | 1 credit |
| /group-structure | Parent and subsidiary chain for a company. | 1 credit |
| /person | One person and all their appointments. | 1 credit |
Search
Find companies by what they do, where they are and how they perform.
| Endpoint | Description | Cost |
|---|---|---|
| /search | Find companies by what they do, where they are and how they perform. | 1 credit, regardless of result count |
Account
Credit balance and usage.
| Endpoint | Description | Cost |
|---|---|---|
| /account/credits | Remaining credits and usage for the current key. | Free |
Data coverage
The register covers 5.48m companies across all four UK nations. What varies is not the jurisdiction but the disclosure — small companies file less, and the PSC regime only began in 2016.
| Data | England & Wales | Scotland | N. Ireland | Note |
|---|---|---|---|---|
| Company profile & filings | ✓ | ✓ | ✓ | Complete register |
| Officers & PSCs | ✓ | ✓ | ✓ | PSC regime from April 2016 |
| Shareholder register | ✓ | ✓ | ✓ | Annual confirmation statements |
| Financial accounts | ✓ | ✓ | ✓ | Turnover disclosed by a minority |
| Business intelligence | ✓ | ✓ | ✓ | Requires a verified website |
| Group structure | ✓ | ✓ | ✓ | From corporate PSC records |
Known limits
- Turnover and profit are only available where a company chose or was required to file them. Roughly three quarters of companies have no disclosed turnover.
- Shareholder registers come from annual confirmation statements, so a holding can be up to twelve months out of date. Officer and PSC changes are filed within days.
- Business intelligence requires a verified website. Companies with no web presence
return
no_datarather than a guess. - Officer dates of birth are published to month precision, so two people sharing a name and birth month cannot always be separated.
Error reference
Every response carries a status field. Errors add a message explaining what went wrong.
| Code | Meaning |
|---|---|
200 | Success. Credits were consumed. |
400 | Missing or malformed parameter. No credits consumed. |
401 | Missing, invalid or revoked API key. No credits consumed. |
402 | Credit allowance exhausted for the current period. |
404 | The company number or person ID does not exist. No credits consumed. |
429 | Rate limit exceeded. Retry after the period given in the Retry-After header. |
500 | Server error. No credits consumed — please retry. |
501 | The requested lookup variant is not implemented yet. No credits consumed. |
503 | The endpoint is not live yet. No credits consumed. |
{
"status": "error",
"code": 404,
"credits_used": 0,
"message": "No company found with number 99999999"
}Ready to make your first call?
Start on the sandbox — same schemas, same authentication, no card required.