UK Companies House Scraper avatar

UK Companies House Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
UK Companies House Scraper

UK Companies House Scraper

Scrape company data from the official UK Companies House register. Get company details, officers, directors, and filing history. Search by name or company number. Clean JSON output. Supports PostgreSQL persistence. Free API key required from developer.company-information.service.gov.uk.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Ivo Sandoval

Ivo Sandoval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape company data from the UK Companies House register — details, officers, filing history.

Data Source

Output Schema

FieldTypeDescription
company_numberstringUnique company identifier (e.g. "00445790")
company_namestringRegistered company name
company_statusstringActive, dissolved, liquidation, etc.
typestringltd, plc, llp, etc.
date_of_creationstringISO date of incorporation
date_of_cessationstringISO date of dissolution (if applicable)
registered_office_addressstringFull registered address
sic_codesarrayStandard Industrial Classification codes
officersarrayList of officers (if include_officers=true)
filing_historyarrayFiling history entries (if include_filing_history=true)

Example Output

{
"company_number": "00445790",
"company_name": "TESCO PLC",
"company_status": "active",
"type": "plc",
"date_of_creation": "1947-11-27",
"registered_office_address": "Tesco House, Shire Park, Kestrel Way, Welwyn Garden City, AL7 1GA, United Kingdom",
"sic_codes": ["47110"],
"officers": [
{
"name": "MURPHY, Ken",
"officer_role": "director",
"appointed_on": "2020-10-01",
"nationality": "Irish"
}
]
}

Input Parameters

ParameterTypeRequiredDescription
api_keystringYesCompanies House API key (Basic Auth)
search_querystringNoCompany name or number to search
company_numbersarrayNoSpecific company numbers to fetch
include_officersbooleanNoFetch officers (default: true)
include_filing_historybooleanNoFetch filings (default: false)
max_resultsintegerNoMax results (default: 100, max: 10000)
database_urlstringNoPostgreSQL URL for persistence
proxy_configurationobjectNoApify proxy config

Database

  • Database name: datamon_uk_companies
  • Tables: companies, officers, filings
  • Upsert key: company_number (companies), replace strategy (officers/filings)

Pricing (Apify Store)

  • Model: Pay-per-event (PPE)
  • Price: $3 / 1,000 results

Development

# Local runner (no Apify dependency)
cd actors/uk-companies-house
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# Test without DB
COMPANIES_HOUSE_API_KEY="your_key" python runner.py --search-query "tesco" --max-results 5 --no-db
# Test with DB persistence
DATABASE_URL="postgresql+asyncpg://user:pass@host:5432/datamon_uk_companies" \
COMPANIES_HOUSE_API_KEY="your_key" \
python runner.py --search-query "tesco" --max-results 10
# Fetch specific companies
COMPANIES_HOUSE_API_KEY="your_key" \
python runner.py --company-numbers 00000006,00445790 --no-db
# Apify run
apify run --purge

Status

  • Scraper implementation
  • Database models + migrations
  • Input/output schemas
  • Local runner (runner.py)
  • DB persistence (persist.py)
  • Apify Store listing