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.

Limit Default Interval
GET /projects (unauthenticated requests) 400 10 minutes
GET /projects (authenticated requests) 2000 10 minutes
GET /projects/:id 400 1 minute
GET /users/:user_id/projects 300 1 minute
GET /users/:user_id/contributed_projects 100 1 minute
GET /users/:user_id/starred_projects 100 1 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.