Read the documentation - see below.
As always things you don’t know will confuse you - it would help to have a basic understanding of how Companies House and UK companies work. I’ve not got a good reference for that to hand, sorry. Search!
The “Registers” endpoint is rarely any use. It sounds useful but most companies will have no data available here. This is a particular feature of how companies can choose to be administered and is used by very few. Unless you know that a particular company has chosen to keep some of its data on the public register I’d ignore this. (You should be able to find this by examining the links
member in the Company Profile).
Search only returning 25 results? Read the documentation - pay attention to items_per_page
and start_index
. Note that they won’t let you just set this to some arbitrary number (100000). The latter is zero-based and should be a multiple of items_per_page
. Unless the bug has been fixed don’t set items_per_page
to 1. Search this forum for information on “paging”.
More “editorial” comments:
The Companies House documentation - last time I checked - is neither complete nor fully up-to-date (not sure I’ve ever found one that is…). However that’s where to start. I recommend you work read their overviews (links on left) and then work through from the main docs area.
What you need to start with - if you have a company number - is the Company Profile endpoint. I linked the documentation about that in my last post.
For any API you’ll need to have some understanding of the subject area. For Companies House this may involve tangling in the arcane corners of UK business law! The API just lets you get the data, not understand it.
There are several reasons why many places don’t post code examples. Companies House used to I think but I think not doing so makes more sense. For two - code for what, in which languages? Then, suppose you copy-paste the code into your system, and it gives some error? Now what do you do?
They do still give examples using curl, I think. I recommend using that. It’s simple and it reduces exposure to one source of confusion (how your environment / language handles http requests - or even how your language / environment works!)