How Bitbucket rate limit and clone operations are related?
Asked by Dayany Espindola:

The rate limit mentioned [here](https://support.atlassian.com/bitbucket-cloud/docs/api-request-limits/) is 60k/h for authenticated https requests.

Is the \`git clone https://...\` considered in this limit?


Answers:
author: Theodora Boudale
body: Hi [@Dayany Espindola](/t5/user/viewprofilepage/user-id/3496872) ,

Git clone operations via HTTPS are counted towards this limit.

This limit is measured for the authenticated user that does this operation, in an one-hour ++rolling++ window.

If you have any other questions, please feel free to let me know!

Kind regards,  
Theodora

comments: author: Dayany Espindola
body: Hi [@Theodora Boudale](/t5/user/viewprofilepage/user-id/818086)!

First of all, thank you for the reply. And I need more information.

So, if I make a sequence of clones in a list of 200 repos, how many requests will I have made?

Is the request directly related to the number of files in each repo?

Does it work the same way if I use a python/node library or a git cmd to clone?

Kind regards,

Dayany


author: Theodora Boudale
body: Hi [@Dayany Espindola](/t5/user/viewprofilepage/user-id/3496872),

The request is not related to the number of files in the repo.

By default, the client will first make the request without credentials, and will retry with credentials if it gets rejected due to authentication. That first attempt without credentials will count as one request, but if it fails it will count towards the IP address and not your user, since it's an unauthenticated call.

When the client attempts the clone again with credentials, a single operation can be spread over two successful requests: the first to ask for refs, and the second to actually transfer data, which would make it 2 requests per clone that count towards the authenticated user.

Regarding your other question:
> Does it work the same way if I use a python/node library or a git cmd to clone?

The way it would work with a library would depend on the implementation of the library. If the library uses a git clone command, I believe it would work the same way. However, if the library uses Bitbucket API (/2.0/repositories/\*) to get refs, commits, the number of requests would depend on the number of API calls that are made, and please note that any access to /2.0/repositories/\* is limited to 1,000 per hour.

Please feel free to let me know if you have any other questions.

Kind regards,  
Theodora


author: minghua
body: Hi, Theodora:

Is there a place/console to see whether we are hitting the limits?

I assume, if we have apps installed on bitbucket, those apps may issue api requests, that might slow down other normal operations through normal paths. Could that happen?

Today and yesterday, I'm cloning 85 repos each time to build a software. The cloning has been much slower sometimes among those repos than other days. Did not see any down/incidents on the bitbucket status page. When git receiving objects slowly, did a few internet speed tests, all were fast and normal. Wonder what could have been the cause. Any ideas?

Just want to add, today it's been on two computers, and one using ssh to clone, another using https.

Thanks in advance!

-Minghua


Tags: bitbucket-cloud

cloud