The UK register has a free, genuinely good REST API. This guide covers authentication, search, company profile, officers and PSC from Python, and is honest about the point where the free API stops being enough.
Companies House uses HTTP Basic auth with your API key as the username and an EMPTY password — not a bearer token, which is the most common cause of a 401. Register a free application on the developer hub for a key.
Search returns candidates; the profile endpoint returns the record. Confirm on company_number, never on name — UK names are not unique and change often. Officers and PSC are separate paginated endpoints using start_index rather than a next link, and PSC can 404 entirely for companies that have none. PSC is the UK beneficial-ownership register and is unusually open: most EU equivalents closed to public access after the 2022 CJEU ruling.
Company numbers are strings, not integers — 00445790 is Tesco, 445790 is a 404, so zero-pad to 8 characters. There is no check digit, so a UK number cannot be validated offline, only shape-checked. The rate limit is 600 requests per five minutes and returns 429 with Retry-After.
If you only need the UK, use Companies House — it is free and authoritative, and paying for a wrapper around a free government API makes no sense. It runs out when you need other countries, sanctions or export-control screening, insolvency outside the UK, or one schema across registries. That is what Prometiam adds: the same call shape for ES, FR, GB, IE, PL and NO, with 1,000 free calls a month and no card.