Jump to content

Recommended Posts

Hi @Physicsman - I've got another question for you... it's been a while :)

I've recently started getting "Error 429 - Too Many Requests" when submitting multiple newstoplimitorder requests at market opening times. Would you be able to shed any light on

- what limits are typically in place on an account (do they differ between consumer / professional accounts?)
- what counts towards a 'request' (e.g. is a historical bars request treated equally to a newstoplimitorder request?)
- how to find out the current level remaining calls available at any point in time. I couldn't find any mention in the documentation..
- whether it's possible to increase that limit?

thank you so much, as always

Oliver

Share this post


Link to post

Hi Oli,

1) There is a throttle of 500 requests over a 5 second window, which should be sufficient for most users. This applies to the API as a whole and does not differentiate between account types.

2) Any call to the API counts as a request. Yes, a request for historical price data is treated as a request equally to a newstoplimitorder request. 

3) We do not have a call to show a counter of requests remaining within the 5 second window.

4) A request could be made to the appropriate engineering team for a change in the throttle limit, but of course I cannot say in advance what their response would be.

How many requests are you submitting at market open? I would be rather surprised if you are submitting >500 within 5 seconds.

Kind Regards, PM

Share this post


Link to post

Hi PM - thank you so much for coming back to me and, yeah, it seemed strange to me too.

However, I think I identified the problem as I haven't had the error since the original post. It appears to have been linked to an underpowered server making the calls to the CI api. I make multiple calls at market opening times and it seems that this activity was pushing the server to its limits, potentially causing repeated or malformed api queries. Certainly no part of the code could have generated 500 requests over 5 seconds... 

Since doubling the processors and memory it appears to have solved the problem. No errors since then. Bit strange, but hopefully resolved.

All the best

Oliver

Share this post


Link to post

Hello,

It is tracked by the login session in use.

Each user can have 5 concurrent sessions. Across those sessions, within a 5 second window, we allow 500 requests.

Kind Regards, PM

Share this post


Link to post

Thanks - does each endpoint have a certain “weigh” or is each API request worth 1 point out of the 500? Basically my account is throttle sometimes when there is little to know activity coming from my user session 

Share this post


Link to post

Hi Mike,

Apologies for the late reply. For some reason the forum automated software did not notify me about this post (or I somehow missed it), and did not spot this post until now.

There is no wieght to the endpoints, each single request counts as 1 out of the 500. It's puzzling that your account is throttled when ther eis no/little activity from it. Presumably you are not doing either of the 2 things listed below?

Should it still occur frequently, please take a note of the date/time and activity when throttling occurs. You can contact client services about it with your account details and then can pass that onto the appropriate team to investigage further. 

Two common cases that can trigger the throttling threshold are:

  • requesting market information
  • requesting price history

 

Market Information Requests

When requesting market information, the ListMarketInformation method can accept a list of market IDs. This enables you to retrieve multiple markets in one request, as opposed to making multiple repeated ListMarketInformation calls with one market ID in each request.

 

Price History Requests

Client UI applications should not calculate higher time frame prices from lower time frame data. For example, requesting 60x 1-minute price data and then calculating a 1-hour data point. Instead, the client UI should request the 1-hour price history data from the server directly.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×