For a deeper look into our Eikon Data API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
3 0 1 6

Error code 429 | Too many requests. Occuring after < 1000 calls / day & < 1GB of debug logfiles. Why does this happen?

I am running in debug mode with logfiles and every day I get this above error way before the limits I see posted on the website (10000 calls/day and 5GB/day).

Assumptions:

1. Calls are only counted when making a new request not checking for responses

Currently I use the following command to check the amount of data calls data.

grep 'Request to http://127.0.0.1:9000/api/v1/data' pyeikon.20211114* | wc -l

Please let me know if I should use a different search pattern for getting the 'correct' amount of data calls.

2. Size of debug log files is strictly greater then data transferred (or counted by your server side script)

Since I run in debug mode and both the request and response json are dumped into the logfile I assume that the size of the logfiles has to be strictly greater then the server side data size counter.

According to these counters I seems to be running into the error way before the 10000 calls/day or 5GB/day daily limits.

Please let me know, if there is a better/canonical way to check our call / data consumption behaviour on the client side.

Once I have the best way to check my behaviour on the client side I will update this post with stats for the next few days.

Thank you,

Joris

eikoneikon-data-apiapi-limits
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

1 Answer

Upvotes
6.7k 8 6 7

@jokari69 So it seems you are possibly running up against other throttling limits which could lead to the 429 you are experiencing:

  • Requests per second - The number of requests sent to the platform via the Eikon Data APIs cannot exceed this limit. This number of requests is counted across all client applications connected to the same Eikon instance. For example if 4 applications connected to the same Eikon send 1 request per second, the throttling mechanism will consider an aggregated rate of 4 requests per seconds.The current limit value (10-Oct-2019) is 5 requests per second.
  • Response volume per minute - The volume (size) of data retrieved from the platform via the Eikon Data APIs cannot exceed this limit. This volume of data is counted across all client applications connected to the same Eikon instance. The current limit value (10-Oct-2019) is 50 MB per minute.

For requests per second this can be mitigated by adding a small sleep interval per iteration (if you are making requests iteratively which I assume you are.

import time
time.sleep(0.1)

Further guidance is given in the document link above. I hope this can help.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Already doing this in my code. Also my requests are large so most of the time I only get a reply after several seconds.

The error always states to wait x seconds (till GMT midnight) so I assume it is a daily limit.

Wrt the response volume per minute, once the error occurs I keep getting it for the rest of the day. So I don't think this is the limit that is breached.


Can somebody actually answer my questions?

I think it is a reasonable question to try to measure how many calls we already initiated on the day on the client side. I would like to have an answer if I do this correct or not.

Kind regards,


Joris

@jokari69 Apols for delay in getting back to you - our dev team are looking at this and have scheduled some tests to check it is working as expected. Your questions are in no way unreasonable and we will get back to you as soon as we can.
any update on this?
Show more comments
Click below to post an Idea Post Idea