You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
Andrew N.8
8 years agoHelpful | Level 5
Upload/Download files via API using AWS Lambda - Rate Limiting
Hi all, I am designing a system to copy files to/from Dropbox via the HTTP API using AWS Lambda functions. We may be copying large quantities of files (up to 10,000 in a batch) using a singl...
- 8 years ago
Thanks. It sounds like I need to do some trial-and-error. Marking this solved - but I may be back :)
Greg-DB
Dropbox Staff
The Dropbox API does have a rate limiting system, but we don't have any specific numbers documented.
Also note that not all 429s and 503s indicate rate limiting, but in any case that you get a 429 or 503 the best practice is to retry the request, respecting the Retry-After header if given in the response, or using an exponential back-off, if not.
There's also a guide here that may be helpful:
https://www.dropbox.com/developers/reference/data-ingress-guide
Also note that not all 429s and 503s indicate rate limiting, but in any case that you get a 429 or 503 the best practice is to retry the request, respecting the Retry-After header if given in the response, or using an exponential back-off, if not.
There's also a guide here that may be helpful:
https://www.dropbox.com/developers/reference/data-ingress-guide
Andrew N.8
8 years agoHelpful | Level 5
Hey Greg,
Thanks for this info.
I understand the exponential backoff and the Retry-After header, no problem.
I'm trying to understand what happens in a hypothetical situation in which a lot of Lambda functions fire in parallel. Let's say we have 200 functions all making API calls within a few seconds, and (hypothetically) the 143rd Lambda triggers rate limiting. The 144th through 200th functions will be already attempting to make API calls before the 143rd function could circulate a message that the other Lambda functions that they should not attempt API calls until after the time specified in the Retry-After header.
Will we be penalized in any way for the remaining functions (144-200) attempting to call Dropbox endpoints before the time specified in the Retry-After header in the response to 143?
- Greg-DB8 years agoDropbox StaffThere's no accumulating penalty. The additional calls will just receive the 429 response with the Retry-After value. The Retry-After value is generally not more than a few minutes. (I believe the Retry-After value may effectively get reset with each rate limited call within the rate limiting window, but if they're all getting sent at the same time anyway like you describe, this shouldn't make any meaningful difference.)
By the way, for the upload case, make sure you read about "lock contention" in the data ingress guide I linked earlier. That has important information about a 429 error you can hit in that case, which isn't explicit rate limiting, and offers a solution.- Andrew N.88 years agoHelpful | Level 5
Thanks. It sounds like I need to do some trial-and-error. Marking this solved - but I may be back :)
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.5,919 PostsLatest Activity: 23 days ago
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!