I need to download a lot of data, which I perform in individual request (one instrument at a time), in order to prevent errors. However, after a while, my program is stuck without error message. It seems that the Datastream Python API cannot download more data, but also does not throw any error message.
I already built in a pause time of 2 seconds between the requests. Is there a data download limit per unit time?
The limits that DSWS imposes for desktop users are documented in "Datastream Web Service usage stats and limits for Desktop users" guide. From the symptoms @iris.koks describes it doesn't look like the problem is the data retrieval limits, however it's worth verifying following the procedure described in the guide.
Underneath the Python library there's RESTful Web service providing the data. Python library generates HTTP requests to this service. There are numerous reasons why an HTTP request may fail. One way to troubleshoot it is to use Fiddler to capture HTTP requests sent to Datastream Web Service, identify the request that corresponds to the last API call from your script and inspect the status of the request and any additional info Fiddler provides.
Please find Eikon Data API Usage and Limits Guideline document, perhaps review Requests per Day as well as Response Volume Per Day, but other limits may also be of relevance if you are downloading a lot of data,