UK Company Data API - Financials, Credit Scores, Officers
Under maintenancePricing
$15.00 / 1,000 company results
UK Company Data API - Financials, Credit Scores, Officers
Under maintenanceSearch United Kingdom registered companies and pull filed financials, credit checks, officers, shareholders, people with significant control, group structure and filing history. Registry-sourced data, pay per result, bring your own API key.
Pricing
$15.00 / 1,000 company results
Rating
0.0
(0)
Developer
Nabeel Hassan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Search United Kingdom registered companies and export the matches as clean rows, with the registry profile, ten years of filed financials, credit checks, officers, shareholders, people with significant control, group structure and filing history all reachable from one run. You pay only for the companies you actually receive.
This actor is built for credit and risk screening, supplier due diligence, know-your-business checks, building UK account lists, and enriching a CRM with registry-sourced company data.
What you can do with it
- Search UK companies by name or by registration number and export the results as a clean table.
- Take a list of company numbers you already hold and enrich every one of them in a single run.
- Pull filed financial history rather than a single snapshot, so you can see the trend rather than one year.
- Screen a supplier list for dissolved, liquidated or in-dispute companies before you onboard them.
- Map ownership: shareholders, people with significant control, and the group structure above and below a company.
- Test a whole run against the provider's sandbox first, so you know the shape of the output before you spend a credit.
- Export everything as JSON, CSV or Excel, or push it into a CRM or warehouse.
Features
- Two ways in: a free-text search, or a list of company numbers for straight enrichment. The list wins when both are given.
- Company numbers are normalised the way the registry files them. A bare
1234567is padded to01234567, and prefixed numbers such asSC123456orNI012345keep their prefix and pad the digits, so a spreadsheet that dropped the leading zeros still resolves. - Premium data sets are opt-in, one input field, and nothing extra is fetched unless you ask for it, because the provider charges each data set separately.
- Asking for everything at once uses the provider's single combined endpoint and skips the individual calls, so the same data is never paid for twice.
- The combined response is unwrapped whether the provider nests the profile under its own key or returns it flat, so the output shape does not change between plans.
- Sandbox mode is a first-class switch: same response shape, sample values, no credits spent.
- The registered office address is flattened into street, town, county, postcode and country columns, while the raw address block is kept intact.
- A company number the provider does not recognise comes back as a row marked
matched: falserather than vanishing, and it is never charged for. Turn on skip-unmatched if you would rather drop them. - Request pacing is built for the provider's published limit of 300 requests per five minutes, with retry-after aware backoff on top.
- Duplicate companies are removed within a run before anything is charged.
- The untouched provider payloads are kept under
raw, split by which call they came from, so nothing is lost. - Pay-per-result pricing with a hard result cap so a run can never surprise you.
Input
| Field | Type | Description |
|---|---|---|
query | string | Free-text company search by name or number. |
companyNumbers | array | Registration numbers to enrich directly. Takes precedence over the search term. |
include | array | Which data sets to attach: profile, financials, officers, people with significant control, shareholders, credit checks, group structure, filing history, or everything at once. |
subItemsPerPage | integer | How many rows to pull for the paged data sets such as officers and filing history. |
sandbox | boolean | Call the provider's sandbox: same shape, sample values, no credits spent. |
skipUnmatched | boolean | Drop unresolvable company numbers instead of returning them marked unmatched. |
maxResults | integer | Stop after this many companies (1 to 10,000). |
pageSize | integer | Companies per search call (1 to 100). |
apiKey | string | Your application key. Required, stored securely. |
appId | string | Your application id. Required. |
Either a search term or a list of company numbers is required.
Example output
Each dataset item is one company. Fields are populated where the provider has data, and the untouched payloads are kept under raw:
{"companyNumber": "01234567","companyName": "EXAMPLE HOLDINGS LIMITED","companyStatus": "active","companyStatusDetail": null,"companyType": "ltd","companySize": "small","companySizeDescription": "Small company","dateOfCreation": "1998-04-21","dateOfCessation": null,"jurisdiction": "england-wales","sicCodes": ["62012"],"addressLine1": "88 Example Street","addressLine2": null,"locality": "Manchester","region": "Greater Manchester","postalCode": "M1 2AB","country": "United Kingdom","registeredOfficeInDispute": false,"hasBeenLiquidated": false,"previousCompanyNames": [{ "name": "EXAMPLE SOFTWARE LIMITED", "ceased_on": "2011-06-30" }],"accounts": { "next_due": "2026-12-31", "last_accounts": { "made_up_to": "2025-03-31" } },"financials": [{ "year_end": "2025-03-31", "turnover": 4200000, "net_assets": 1350000, "employees": 34 },{ "year_end": "2024-03-31", "turnover": 3810000, "net_assets": 1120000, "employees": 29 }],"officers": [{ "name": "EXAMPLE, Alex", "officer_role": "director", "appointed_on": "2014-02-01" }],"personsWithSignificantControl": [{ "name": "Alex Example", "natures_of_control": ["ownership-of-shares-75-to-100-percent"] }],"shareholders": [{ "name": "Alex Example", "shares": 750, "share_class": "ORDINARY" }],"creditChecks": { "credit_score": 72, "credit_limit": 145000, "risk_band": "Low risk" },"groupStructures": { "parent": null, "subsidiaries": [] },"profileUrl": "https://www.endole.co.uk/company/01234567","raw": { "profile": { "company_number": "01234567" } }}
Pricing and the credit model
This actor uses pay-per-result pricing. You are charged a fixed price for each company delivered to the dataset. Duplicates and unmatched lookups are not charged, and a search that matches nothing costs nothing. Set maxResults to cap how many rows a run can collect, and set a run spending limit as a second safety net.
Your own provider plan meters separately, and this matters more here than with most data APIs: basic registry data is on the free tier, while financials, credit checks and shareholder data are premium endpoints charged per call. A run over 500 companies asking for four premium data sets is 2,000 charged provider calls, not 500. Ask only for the data sets you need, and use sandbox mode to shake the run out first.
Bring your own API key
This actor connects to a third-party United Kingdom company data provider (Endole) on your behalf and requires your own provider credentials. Create a free account, open the API dashboard, make a new application, and paste its application id and application key into the appId and apiKey inputs. They are stored securely and never logged, and the actor never ships with or shares credentials.
Frequently asked questions
What data does this actor return?
The registry profile is always there: company number, name, status and status detail, company type, size band, incorporation and cessation dates, jurisdiction, SIC codes, the registered office address split into street, town, county, postcode and country, whether the office is in dispute, whether the company has been liquidated, previous names, and the accounts and confirmation statement schedules. On top of that, whichever premium data sets you ask for: filed financials across ten years, officers, people with significant control, shareholders, credit checks, group structure and filing history. Every record also carries the untouched provider payloads.
Where does the data come from?
Companies House and other authoritative United Kingdom sources, enriched by the provider with credit scores, filed financial history, shareholder data and group structures. That enrichment is the reason to use this rather than the public registry API directly: credit scores and shareholder data are not in the free registry feed.
How is this different from the public registry API?
The public registry gives you the filings. This gives you the filings plus the analysis layer on top: a credit score and limit, a risk band, financial history already parsed into comparable years rather than left inside a filed document, shareholder lists, and the group structure above and below a company.
Which data sets cost extra?
Basic registry data is on the provider's free tier. Financials, credit checks, shareholders, group structure and filing history are premium and are charged per call on your provider plan. The include field is where you control that, and asking for everything at once is one call rather than seven, which is the cheaper route when you genuinely want the lot.
What does sandbox mode do?
It sends sandbox=true on every request. The provider answers with sample data in exactly the same shape, and the calls do not spend credits. Use it to check that your filters, your include selection and your downstream mapping all work before running the real thing.
My company numbers lost their leading zeros in a spreadsheet. Will they still work?
Yes. UK company numbers are eight characters and spreadsheets routinely strip the leading zeros, turning 01234567 into 1234567. The actor pads bare numeric values back to eight characters, and handles prefixed numbers such as SC for Scotland and NI for Northern Ireland by padding the digits after the prefix. The number is normalised before any call is made.
What happens to a company number the provider does not recognise?
It comes back as a row with matched: false so you can see exactly which inputs failed, and it is not charged. If you would rather they disappeared, turn on skipUnmatched.
How does the actor handle rate limits?
The provider allows 300 requests per five minutes. The actor paces its own requests to stay under that by design, honours the retry-after signal on a rate-limited response, and backs off exponentially. A response saying the account is out of credits stops the run early and keeps everything already collected.
How am I charged?
You pay a fixed price per company returned to the dataset. Duplicates and unmatched lookups are not charged and empty runs cost nothing. Use maxResults and the run spending limit to control cost.
What output formats are available?
The dataset can be exported as JSON, CSV, Excel, HTML or RSS, or read through the API for pushing into a CRM or warehouse.
Keyword map
uk company data api, companies house api alternative, company financials api, uk credit check api, company credit score api, uk company search api, company officers api, persons with significant control api, shareholder data api, company filing history api, uk business data api, kyb api uk, due diligence data api, supplier screening api, company registration number lookup, uk limited company data, group structure api, dissolved company check, sic code company search uk, b2b data enrichment uk.