Companies House Financials: accounts, filings, iXBRL data
Pricing
from $3.00 / 1,000 company profiles
Companies House Financials: accounts, filings, iXBRL data
Extract UK company profiles, accounts filing history and parsed iXBRL financials (turnover, profit, net assets, cash) from Companies House. No personal data.
Pricing
from $3.00 / 1,000 company profiles
Rating
0.0
(0)
Developer
Spongy Frame Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
What does Companies House Financials do?
Companies House Financials turns a list of UK company numbers (or company names) into clean, structured JSON: the company profile, its accounts filing history, and, where the accounts were filed digitally, the actual financial figures parsed straight out of the iXBRL document. You get turnover, gross and operating profit, profit before and after tax, net assets, total assets, cash, creditors, equity, share capital, dividends and average employee numbers for the current and prior period, without opening a single PDF.
Everything comes from the official Companies House Public Data API and Document API. The Actor never touches officers, persons with significant control or disqualified-directors endpoints and never outputs a person's name, date of birth, nationality, occupation or home address. It is built for credit checks, lead qualification, market sizing, supplier due diligence and research on UK limited companies.
Why use this one?
- Real numbers, not just metadata. Most UK company data tools stop at status, SIC codes and filing dates. This one reads the iXBRL accounts and returns the figures as typed numbers with the period they belong to and the currency.
- Current and prior period side by side. Every parsed document gives you a
currentand apriorblock, so growth and trend calculations need no extra work. - Names or numbers. Paste
00445790orTesco PLC; names are resolved through the Companies House search and flaggedresolved_from_searchso you can audit the match. - Official source, no scraping risk. Data comes through the documented API with your own free key, at a rate that respects the 600-requests-per-5-minutes limit, with retries and
Retry-Afterhandling built in. - Privacy by design. No personal data endpoints are called, and director names embedded in accounts documents are dropped during parsing.
- Honest about limits. Accounts filed as PDF only (most filings before 2016 and some audited group accounts) cannot be parsed; they are reported as
financials: []withaccounts_parse_status: "no_ixbrl_available"rather than guessed.
How to use it
- Get a free Companies House API key (about 2 minutes). Go to developer.company-information.service.gov.uk, sign in or register, open Your applications, create an application of type REST, and add a REST API key. Copy the key.
- Give the Actor the key. Either paste it into the
apiKeyinput field (stored as a secret) or set the environment variableCOMPANIES_HOUSE_API_KEYin the Actor's settings. If neither is present the run stops immediately with a clear message. - Enter company numbers or names and run. Results land in the dataset; a
SUMMARYrecord and anyFAILURESare written to the key-value store.
Input
{"companyNumbers": ["00445790", "00102498", "SC327000", "Widget Makers Ltd"],"maxItems": 100,"parseAccounts": true,"accountsYears": 1,"includeFilingHistory": true,"includeRegisteredAddress": true,"outputFormat": "full"}
companyNumbers: 8-character numbers, shorter numeric values (padded with leading zeros), prefixed numbers such asSC,NI,OC, or company names.maxItems: stop after this many companies.parseAccountsandaccountsYears: parse the latest 1 to 5 iXBRL accounts documents per company.includeFilingHistory: last 10 accounts filings with public document links.includeRegisteredAddress: the registered office (a corporate address).
Output
One item per company:
{"company_number": "01234567","company_name": "WIDGET MAKERS LIMITED","company_status": "active","company_type": "ltd","incorporated_on": "2009-05-01","dissolved_on": null,"sic_codes": ["28990"],"registered_office_address": {"address_line_1": "2 Example Street", "address_line_2": null,"locality": "London", "region": null, "postal_code": "EC1A 1AA", "country": "United Kingdom"},"accounts": {"next_due": "2025-12-31", "last_made_up_to": "2024-03-31", "overdue": false, "accounting_reference_date": "03-31"},"confirmation_statement": {"next_due": "2025-05-15", "overdue": false},"has_charges": false,"has_insolvency_history": false,"filing_history": [{"date": "2024-11-20", "type": "AA", "description": "accounts-with-accounts-type-unaudited-abridged","category": "accounts", "made_up_date": "2024-03-31", "transaction_id": "MzQw...","document_url": "https://find-and-update.company-information.service.gov.uk/company/01234567/filing-history/MzQw.../document?format=pdf&download=0"}],"financials": [{"period_end": "2024-03-31", "period_start": "2023-04-01", "currency": "GBP","accounts_type": "Full accounts (Unaudited)", "balance_sheet_date": "2024-03-31","entity_name": "WIDGET MAKERS LIMITED","current": {"turnover": 1234567, "gross_profit": 456789, "operating_profit": -12500,"profit_before_tax": -15000, "profit_after_tax": -16200, "net_assets": 250500,"total_assets": 430500, "current_assets": 180500, "fixed_assets": 250000, "cash": 42300,"creditors_due_within_one_year": 120000, "creditors_due_after_one_year": 60000,"total_equity": 250500, "shareholder_funds": null, "average_employees": 12,"dividends_paid": 0, "called_up_share_capital": 100},"prior": {"turnover": 1100000, "...": "..."},"parsed_concepts_count": 32,"unmapped_concepts_sample": ["DepreciationExpenseFixedAssets", "WagesSalaries"],"source_document_id": "abc123"}],"accounts_parse_status": "parsed","resolved_from_search": false,"source_url": "https://find-and-update.company-information.service.gov.uk/company/01234567","fetched_at": "2026-09-24T10:15:00+00:00"}
accounts_parse_status is one of parsed, no_ixbrl_available (PDF only), no_accounts_filed, parse_failed, skipped (parsing disabled) or skipped_charge_limit. Fields that the filer did not tag are null.
How much does it cost?
The Actor is pay-per-event. You pay only for what is produced.
| Event | Charged when | Price |
|---|---|---|
company-profile | a company item is pushed to the dataset | $0.004 |
accounts-parsed | an iXBRL accounts document is parsed successfully (at least 3 mapped concepts) | $0.03 |
Companies that are not found are recorded under FAILURES and are not charged. PDF-only accounts are not charged.
Example 1: 500 companies, profile and filing history only (parseAccounts: false): 500 × $0.004 = $2.00.
Example 2: 500 companies with the latest accounts parsed, of which 420 have iXBRL: 500 × $0.004 + 420 × $0.03 = $2.00 + $12.60 = $14.60. Add accountsYears: 3 and the accounts part roughly triples.
Platform compute is included in these prices; nothing else is billed.
Limits and fair use
- Companies House allows 600 requests per 5 minutes per key. The Actor paces itself at 2 requests per second and backs off on
429, so around 1,500 to 2,500 companies per hour is a realistic throughput with accounts parsing on. - Each company needs 2 to 6 API calls (profile, filing history, document metadata and document content per parsed year, plus a search call for names).
- iXBRL documents are typically 200 KB to 2 MB; very large audited group accounts may take a few seconds each.
maxItemscaps the number of companies, and runs also stop cleanly when your Apify spending limit for an event is reached.- Name lookups take the top exact-ish search match; check
resolved_from_searchandsearch_queryif precision matters, or supply numbers.
Legal note
All data is retrieved from the Companies House Public Data API and Document API under the Companies House API terms and is Crown copyright, reusable under the Open Government Licence. This Actor deliberately excludes officer, PSC, disqualified-officer and UK-establishment endpoints and strips person names from parsed documents; the only address returned is the company's registered office. You remain responsible for how you use the output.
FAQ
Why did my run stop early?
Either maxItems was reached, your Apify spending limit for company-profile or accounts-parsed was hit (the log says which), or the API key was rejected (401), which stops the run immediately. Check the run log and the SUMMARY record.
Why is financials empty for a company?
The latest accounts were filed as a PDF only (no_ixbrl_available), no accounts have been filed yet (no_accounts_filed), or the document could not be parsed (parse_failed). Try accountsYears: 2 or 3 to reach an older iXBRL filing.
Some figures are null. Is that a bug?
Small companies file abridged or micro-entity accounts and often do not tag turnover or profit at all. null means the filer did not tag that concept. unmapped_concepts_sample shows what they did tag.
Do I need to pay Companies House? No. The API key is free and there is no usage fee; the limit is 600 requests per 5 minutes.
Can I get directors or shareholders? No, by design. This Actor does not call those endpoints and does not output personal data.
Support
Use the Issues tab on the Actor page for bugs and feature requests. We answer within 24 hours on working days.