Rate limit on Projects API

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed
History

You can configure the rate limit per IP address and per user for requests to the following projects API.

LimitDefaultInterval
GET /projects (unauthenticated requests)40010 minutes
GET /projects (authenticated requests)200010 minutes
GET /projects/:id4001 minute
GET /users/:user_id/projects3001 minute
GET /users/:user_id/contributed_projects1001 minute
GET /users/:user_id/starred_projects1001 minute

To change the rate limit:

  1. On the left sidebar, at the bottom, select Admin.
  2. Select Settings > Network.
  3. Expand Projects API rate limits.
  4. Change the value of any rate limit. The rate limits are per minute per user for authenticated requests and per IP address unauthenticated requests. Set to 0 to disable a rate limit.
  5. Select Save changes.

The rate limits:

  • Apply per user if the user is authenticated.
  • Apply per IP address if the user is unauthenticated.
  • Can be set to 0 to disable rate limiting.
  • Are behind the rate_limit_groups_and_projects_api except for the unauthenticated requests to the GET /projects API.

Requests over the rate limit are logged into the auth.log file.

For example, if you set a limit of 400 for GET /projects/:id, requests to the API endpoint that exceed a rate of 400 within 1 minutes are blocked. Access to the endpoint is restored after one minutes have elapsed.