UK Companies House API Scraper — PSC, iXBRL Accounts, Filings
Pricing
from $2.00 / 1,000 company records
UK Companies House API Scraper — PSC, iXBRL Accounts, Filings
Scrape UK Companies House data via 54 modes: company profiles, PSC ownership graphs, officer networks, iXBRL-parsed accounts (FRS 102/105), filings, charges, gazette notices, and AI director briefs. Pooled API key included — first 20 rows free.
Pricing
from $2.00 / 1,000 company records
Rating
0.0
(0)
Developer
Domin Vo
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
UK Companies House API Scraper turns Companies House records into clean JSON, CSV, Excel, NDJSON, or Markdown. Use it to scrape UK company profiles, PSC ownership, officers, filings, charges, insolvency cases, Gazette notices, and accounts data from official UK sources.
This Actor works like a simple Companies House API on Apify. Pick a mode, enter a crn, company name, officer ID, search query, charge ID, or PSC ID, then start the run. Results are saved to an Apify dataset or to a file in the key-value store.
What can you scrape from Companies House?
| Need | Mode to start with | What you get |
|---|---|---|
| Company profile | company_profile | Status, address, SIC codes, dates, filing links |
| Company search | company_search | Search results by name or query |
| Officers | company_officers | Directors and officers for a company |
| Officer history | officer_appointments | Appointments for one officer |
| PSC ownership | psc_list | People with significant control |
| Filing history | filing_history | Filing records |
| Filing document | filing_document | Filing document metadata |
| Charges | charges_list | Mortgage and charge records |
| Insolvency | insolvency_cases | Insolvency case records |
| Accounts facts | ixbrl_accounts | Parsed iXBRL account facts |
| Gazette notices | gazette_notices | Strike-off and liquidation notices |
| Risk signals | signal_pack | Company risk signals |
Why use this Companies House scraper?
- No setup needed: you do not need to register your own Companies House API key for normal runs.
- Many company checks in one Actor: profile, PSCs, officers, filings, charges, insolvency, Gazette notices, and accounts.
- Clean output: every row includes
sha256,mode,crn,transaction_id,filing_date, andpayload. - Easy automation: run from the Apify Console, API, schedules, webhooks, or integrations.
- Good for AI and spreadsheets: download JSON, CSV, Excel, NDJSON, or Markdown.
How to scrape Companies House data
- Open the Actor on Apify and click Try for free.
- Choose a
mode, such ascompany_profile,psc_list, orixbrl_accounts. - Enter a
crn, such as09446231for Monzo Bank, or usequeryfor search modes. - Optional: add
maxResults,dateFrom,dateTo, or mode-specific IDs. - Pick
outputFormat:json,ndjson,csv,xlsx, ormd. - Click Save & Start and download results from the Output tab.
For the easiest first test, keep the default mode as company_profile and use the prefilled CRN 09446231.
Input example
{"mode": "company_profile","crn": "09446231","outputFormat": "json","includeMarkdown": true}
Example for PSC ownership:
{"mode": "psc_list","crn": "09446231","maxResults": 50,"outputFormat": "json"}
Example for company search:
{"mode": "company_search","query": "Monzo","maxResults": 20,"outputFormat": "csv"}
Output example
{"sha256": "a3b9c2d1...","mode": "company_profile","crn": "09446231","transaction_id": null,"filing_date": null,"payload": {"company_number": "09446231","company_name": "MONZO BANK LIMITED","company_status": "active","date_of_creation": "2015-02-24","registered_office_address": {"address_line_1": "Broadwalk House 5 Appold Street","locality": "London","postal_code": "EC2A 2AG"},"sic_codes": ["64191"]}}
You can download Companies House data as JSON, CSV, Excel, NDJSON, or Markdown. JSON streams to the Apify dataset. Other formats are saved as files in the key-value store.
Companies House data fields
| Field | Meaning |
|---|---|
sha256 | Stable fingerprint for change checks |
mode | The mode that created the row |
crn | UK company registration number |
transaction_id | Filing, PSC, charge, or related record ID |
filing_date | Filing date, when available |
payload | The mode-specific data |
markdown | Optional AI-friendly text version |
How much does it cost to scrape Companies House?
This Actor uses pay-per-event pricing. The first 20 result rows in a run are not billed by result-row events. Apify start events may still apply.
Common row prices:
| Data type | Example modes | Price |
|---|---|---|
| Company record | company_profile, company_search | $0.002 per row |
| Officer record | company_officers | $0.003 per row |
| PSC record | psc_list | $0.005 per row |
| Charges / insolvency | charges_list, insolvency_cases | $0.004 per row |
| Filing section | filing_history, filing_chunks | $0.008 per row |
| Accounts fact | ixbrl_accounts | $0.001 per row |
| Signal record | signal_pack, gazette_notices | $0.005 per row |
| AI output | ai_summary, ai_director_brief | $0.04 per row |
For full pricing, check the Pricing tab on the Actor page.
Tips for best results
- Use a CRN when you have one. It is more precise than a company name.
- Use
maxResultson search and list modes to control run size. - Use
dateFromanddateTofor filing and stream modes. - Use
outputFormat: "md"when you want text for ChatGPT, Claude, or a report. - Start with
company_profilebefore running deeper checks such as PSCs, charges, officers, or accounts.
Use from Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("dominvo/uk-companies-house-api-ai-scraper").call(run_input={"mode": "psc_list","crn": "09446231","maxResults": 50,})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["payload"])
Other Actors by this creator
Need U.S. public company filings too? Try SEC EDGAR AI Scraper for SEC filings, XBRL facts, insider trades, 13F holdings, filing text, and enforcement records.
FAQ and support
Is this an official Companies House tool?
No. This is an independent Actor that reads public data from official Companies House and related UK sources.
Do I need my own Companies House API key?
No. Normal runs use a pooled key setup in the Actor.
Is this scraping or API access?
It mainly uses official Companies House APIs and public UK data sources.
Is the data fresh?
Most modes fetch live data. Bulk modes depend on the source snapshot update schedule.
Is this legal?
Companies House data is public, but some records include personal data about officers or PSCs. You are responsible for using the results lawfully.
Where do I get help?
Open the Issues tab on the Actor page for bugs, missing modes, or feature requests.