Companies House
Companies House Company Profile API
The full register entry for one UK company, straight off the official statutory register: status, type, incorporation and dissolution dates, registered office, SIC codes, previous names, accounts and confirmation-statement due dates with their overdue flags, and whether the company has charges, insolvency history, officers or UK establishments. Keyed by company_number - get one from the search endpoint. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsoncompany_numberstringrequiredUK company number, 1-20 characters. Deliberately loose: it is zero-padded to 8 and upper-cased for you, so 445790, 00445790 and sc090312 all resolve. That matters because the register itself 404s on the unpadded and lower-cased forms - a number typed off a letterhead, or pulled from a spreadsheet that ate its leading zeros, would otherwise fail. Registry prefixes are supported: SC (Scotland), NI (Northern Ireland), OC/SO/NC (LLPs), FC (overseas), BR (UK establishment), CE (charitable incorporated organisation). Up to two letters followed by digits, 8 characters after padding; anything else is a 400.
Example: 00445790
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Unpadded and lower-cased numbers are normalised for you: this is 00445790.
profile = client.companies_house.company("445790")
data = profile["data"]
print(data["company_name"], data["company_status"])
print("accounts overdue:", data["accounts_overdue"])
print("has charges:", data["has_charges"])Response