In response to part one of of your query:-
The API rate limit of 600 requests in a 5 minute period is indeed linked to the API key. A user is allowed to establish multiple API keys but that is on the understanding that these are for separate applications - though, as mentioned above, use of a separate key for a test version of a service is reasonable. Use of multiple keys for the same, live application is not allowed and would be viewed as an attempt to circumvent rate limiting and make unreasonable use of the service, which could result in a service ban - unless this had been specifically agreed with Companies House. If you feel you have a legitimate need to exceed the rate limit then you should contact us to discuss, so that we can advise on the best approach, which may include the use of alternate Companies House services.
In order to protect the service, we also apply rate restrictions at an IP level - currently 2,000 in 5 mins for API traffic but we reserve the right to change this.
In both cases, if you breach the limit, you will get errors until a new, 5 minute period starts - 429 errors for an API Key rate breach and 403 errors for an IP limit breach. You should code your applications to not breach the rate limits at all and to back off gracefully if you do ie to avoid retrying and generating errors until the new period starts. If we see repeated breach of the limits from a particular application or IP, we may institute a service ban.
We want people to use our services and are keen to help you get the best out of them but we also have to ensure that all users get reasonable access and performance without some users dominating resources. Again, if you have legitimate issues with the rate limits in terms of using our services, please contact us to discuss so we can help identify the best approach to take.
Response to part 2 :-
The streaming API has a different type of limit on its keys, it uses a connection limit to ensure no more than 2 active connections are allowed per stream key at any time.
This 2 connection limit is currently being reviewed and will most likely be increased very soon to match the current number of streaming endpoints.
Hope this helps.