API Timeout
Hi, I have a script that fetches the contactId for each person in the database and then gets the details of each person. The rate limit for the "contact by identifier" is 120 per minute. I seem to be getting some time out errors every now and then. I am wondering if this is due to the rate limit. I have the request set for 2 requests per second. Sometimes after 600 records or so it starts to timeout. My script is set up to retry the ID after 5 seconds. It will go through a max of 3 retries and then skip the ID. It skips 3 IDs so that is 60 seconds of waiting. My question is, if the API rate limit is reached what is the penalty for hitting the rate limit? Is it a 60 second wait before the API will respond again? This would explain my time outs.
Thanks!
-
Jack Kerkhof commented
I'm having performance issues as well. I find that the rates I am consistently getting are well below those advertised. GET requests for Events, Event details, Registrants are consistently at about 110/minute +/- 10. This is nowhere near the 400 it should be. This degree of consistency strongly suggests there is throttling/bandwidth shaping at 2/sec.
If anyone has any ideas of how to speed this up, I'd sure like to hear them!
In the meantime I hope this helps you guys.
-
Michael Thomas commented
Also, I received an error that says "HTTP Error 429: Wild Apricot's server has received too many requests from your account. The maximum number of requests per minute is 200."
This API rate limit of 200 requests per minute is not mentioned anywhere in the documentation that I can find. Is this correct? I have listed the API rate limits below that are in the documentation.
Currently, the limits on the number of API requests per minute are:
40 requests per minute to get a list of contacts
120 requests per minute to get a contact by identifier
400 for other request types.
Batch requests are limited to 5 subrequests per batch.