Is there a way to query only active companies in the API URL

Hi everyone,

I am querying some local public company data and only filtering out active companies instead of insolvent/dissolved companies - the problem is I first have to perform one API request in order to grab the company status value. Because a large proportion are in-active companies I end up hitting the API rate limit when I have only managed to extract only a fraction of active companies, if that makes sense. So I was wondering rather than making repeated API requests to get the company status is there not a way with the API URL to have a query parameter that only requests active companies?

And the same goes for officers too - I am only interested in finding active officers as opposed to resigned - but again, to find out if an officer is active I look for the value held in the “resigned_on” value (if this is empty it means they are active) but to do this I have to perform an API request to get this resigned_on value - I just wondered if a more efficient API query would be to have an API URL with the option to add different parameters or querystrings to only request active companies and only look for active officers, to avoid overloading the API, and me not getting a 429 error?

I have read the documentation but cannot see anything regarding this. Interestingly there is a way to alter the API request URL to only look for insolvent companies but I can’t see a similar feature for just searching active companies via the API request URL.

Thank you very much for any help on this.

For active companies: the Companies Bulk data product will give you that information - in the CompanyStatus field.

There is also a bulk officers data product - there’s a thread on here you can post to and request that data set:

The Companies Bulk Data product is updated monthly. So if you needed to “fill in the gaps” you could either:

a) do so with (slow, rate-limited) queries to find recently incorporated companies and recently closed ones (using the Advanced Search endpoint and setting suitable values in e.g. the incorporation date / dissolved date - you can try this from a browser here)

b) Or use the Streaming API to update the bulk data set once you’ve downloaded and processed it e.g. start collecting all changes to companies as they occur and updating the bulk data.

You can do a search by company status using the Advanced Search (e.g. for all currently Active / Open companies, and add in any other conditions you want e.g. Administration / Insolvency) BUT due to the design goals of the API you’ll find there is a hard limit on how many results you can get back. For all “give me all the data” queries I think Companies House have said many times that the Public Data API is not the right way - it’s just not designed for that (hence rate limiting and limits to the maximum number of results from queries).

Good luck.

Thank you for your reply. That is really helpful and answers my query. Exactly what I was looking for and saved me a lot of work!

1 Like

I have just realised there is no officer information in the bulk spreadsheets (I just need the name of the active officers). Please can you tell me where I can find this? I was able to find this information via the API but it’s not in the bulk spreadsheets unfortunately. Thank you again for your help.

The officer data is not in the Companies Bulk data - that is just the company info. Did you request the Officer/Director data from Companies House on the thread I suggested (I am not from Companies House, just another user of the API)? That’s not a dataset which is available without request I believe. (We don’t actually consume that but I think they give you access to a site where you can download this from).

Yes thank you, I have requested access to the bulk Officer data on the other thread you provided.

Thank you for your help. Much appreciated.