API limit increase

Our Supplier Relation Management platform, currently uses the Companies House API for collecting extra information for our customers’ suppliers.
Currently we have been doing this in the background, so we have managed to work around the limit of 600 calls per 5 minutes.
However we are now building a companies house lookup functionality into the platform that would allow our customers to lookup for their companies using a search box with autocomplete.
This will be loaded in realtime and displayed to the end user, we worry this will cause us to hit our limit as the user is attempting to use this new feature.
I would like to know what are our options regarding expanding our limits and or any other suggestions on how we could handle this situation?

1 Like

I have DM’d you regarding this.

Hi, sorry to muscle in on this thread, but I am also interested in increasing our API limit. We have an app which regularly checks to see which companies have filed new accounts and this currently has to be slowed down to avoid breaking the limit.

Could you please also let me know what options there are to do this?



There is the streaming API that provides all filings.

@MArkWilliams , How can I increase the 600 calls limit.


We have an application which regularly checks the status of each companies and related information. We are using Company Profile Summary API - https://api.company-information.service.gov.uk/company/{companyNumber} to get the required information. Our application is working fine with the current API limit of 600 requests every 5 minutes. As we have to hit this API regularly, it would be good to increase the API limit. Would it be possible to increase the API limit for us?

We recommend the streaming api for this. It informs you of all company changes and also provide the information so you will not even need to call the API.


We do have a dependency on the existing data load,because of which we need the Companies House API to be called immediately after the data load. Our application demands an updated information on each companies in our system (around 100k records for the time being).

I don’t think Streaming API would be a solution for this requirement. Is it possible to increase 600 calls limit in that case?

You should not be depending on the GET endpoints for updates, that is what the streaming API’s are for. In fact, CH keep the GET endpoints up to date using the streaming API’s.

It does not matter how frequently you update your data if there has not been any updates for the company, and the quickest way to get these updates is via the streaming API’s.


I know that Streaming API gives any real time change to the data. But I am not interested in all the companies in Companies House Database. I do have a specific set of companies for which GET endpoints are required. Also, Streaming API needs a live connection as long as the application needs an update. Is there any filter that can be applied while calling Streaming API?

Yes, the streaming API’s require a ‘long living’ connection, but you can also run it in an ‘offline’ mode where you connect to the stream of interest then disconnect from it BUT saving the timepoint. The next time you connect, provide the Timepoint and the stream resumes from whence it left (read the documentation as the ‘rewind’ is limited in the number of days it goes back!)

As for filtering, that is exactly how the streaming API’s are consumed - by filtering for the companies for which you are interested in.


Thanks for your input. I understand the need for a “long living” connection and Companies House terminates all streams every night between 2-3 AM as per the documentation given: Streams | CH Guide. Our concern is the filtering option as I don’t see any filters that can be applied on Basic Company Infromation Stream : https://stream.companieshouse.gov.uk/companies. The only option available is get the real time updates from the stream and then filter it on the client application to get the companies of our interest. It may result in 90% of the stream response discarded. The major reason for this activity is that the Free Company Data Product does give us only the “LIVE” companies information and it stops sending the information of a company once that is dissolved in the data - Companies House. So we ended having ‘X’ number of companies without the latest status (possibly with the status before they went dissolved).

And that is the point about ‘streaming’ - there are NO filters. And yes, you need to apply the filters in the client application.

Having to discard 90% of the data is neither here nor there as you end up with a ‘real-time’ state for the 10% of data that applies to companies you are interested in. Like I mentioned previously (and I stand to be corrected if I’m wrong), this is exactly how CH keep the GET endpoints current.

1 Like