Companies House API Limits

Hi,

We are developing a solution to check Companies House for the correct legal entity name for our ~5,000 clients and is designed to run out-of-hours on Sunday.

We are aware of the 600 request limit per 5 minutes, but note from the Developer Guidelines that it is suggested to contact yourselves if a higher rate is required.

Is it possible to support a higher rate for this application?

Many thanks

Hi,

Please can I receive an update on this post?

Thanks

Rate limit increases are possible, but only small increases.
However we would ask why you need more than 7200 data requests in an hour, have you considered using our bulk products, are you using our streaming service to keep your data up to date so that you do not need to run ‘batch’ type jobs, is it possible your application does not fit the data available from us etc

Hi @MArkWilliams,

Thanks for your response. Re. 7,200 data requests per hour, can you therefore confirm that it is appropriate to send calls in batches of 600, with 5-minute delays between batches?

We were conscious that the Developer Guidelines mentioned the below, so wanted to confirm whether programmed delays were deemed attemps to bypass or whether this is allowed:

We reserve the right to ban without notice applications that regularly exceed or attempt to bypass the rate limits.

Ultimately, we want to ensure what we design isn’t going to be later blocked by Companies House!

Many thanks

That is one way, though you do not need to specifically send 600 then wait 5 minutes. You just need to keep within the limits. The headers we return to you contain your rate information eg.
X-Ratelimit-Limit: 600
X-Ratelimit-Remain: 599
X-Ratelimit-Reset: 1730107751
X-Ratelimit-Window: 5m

You can use these to implement a system that does not go over your limit. You should also ensure you handle ‘excessive-use’ responses from us.
The rate limit is there for a reason. The service is designed for real time retrieval of data as it is required, not for the collection of large data sets and, in order to provide this free service efficiently and ensure that all customers get equal access to the data, we have to protect it from excessive use.
We have a number of bulk products that may be more suitable.
The streaming service is also available and other customers use this to keep data up to date for the companies they are interested in. This could reduce or remove the need to call the API.