cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Re: Dropbox API rate limits

Dropbox API rate limits

Sophia S.3
New member | Level 1

Hi,

I am hitting dropbox API rate limit and I can see 429 status code, I know that dropbox rate limit is per user basis.

I just wanted to know the number, How many API calls are allowed per user per day.

Thanks,

Murali

13 Replies 13

Richard P.
Super User alumni

The documentation suggests that reasonable use should never hit the rate limiting level, so I wonder what you are doing 🙂

It also says you need to contact the developer support team to discuss your requirements:

https://www.dropbox.com/developers-v1/core/bestpractices

Greg-DB
Dropbox Staff

The Dropbox API does have a rate limiting system, but we don't have any specific numbers documented. It is only designed to prevent abuse though, and is accordingly very generous. You generally don't need to worry about hitting it in normal use, as Richard noted.

Also note that not all 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.

If you inspect the body of the response, it may contain more specific information about the issue (e.g., explaining if it's explicit rate limiting, or some different issue).

In any case, if you can share some context and let me know what endpoints you're seeing this with, I'll be happy to offer any advice I can about potentially optimizing your implementation.

Sophia S.3
New member | Level 1

Thanks Gregory

Here is the status of the error that I saw.

Status code : 429
Error Description: {u'error_summary': u'too_many_requests/...', u'error': {u'reason': {u'.tag': u'too_many_requests'}, u'retry_after': 300}}

It would be very useful if you can share how the rate limits are calculated.

Thanks,

Murali

Greg-DB
Dropbox Staff

The rate limit system is based on the rate of API calls from an app-user pair over an amount of time.

What endpoint are you getting that from though? Can you share some code and context so I may be able to offer some advice?

Sophia S.3
New member | Level 1

Thanks Gregory,

In my code I am actually trying to get all the folder and file details for each user, and Also to get shared details for each file and folder. I have around 50K files. In case sequential execution everything works as expected. If I try to list files and folders with multiple process then I am hitting rate limits. Here I am trying to run 3 processes at a time.

So In this case just wanted to confirm, If I do some amount of calls in the same time. Does it hit rate limits?

Thanks,

Murali

Greg-DB
Dropbox Staff

In that case, make sure you're using /files/list_folder[/continue] with recursive to true to get the listing.

And yes, it's based on making a large number of requests in a certain amount of time.

Richard P.
Super User alumni

It did use to say somewhere in the dev docs that traversing the entire document tree for an account was not recommended for precisely this reason, did that advice go away? 🙂

Greg-DB
Dropbox Staff

Using the recursive parameter is the solution to that in API v2, as it lets you get all of the metadata in the account without needing to make a call for every folder.

Sophia S.3
New member | Level 1

Here I am using /files/list_folder API, and I got all the files/folder metadata but to get shared details for each file/folder I have to make API call for each shared I'd.

 

Need more support?