Compute Engine rate quotas


This document lists the Compute Engine rate quotas, which define the number of requests you can make to Compute Engine API methods.

Rate quotas

Rate quotas (also known as API rate limits or API quotas) define the number of requests that can be made to the Compute Engine API. These quotas apply on a per-project basis. Each quota applies to a group of one or more Compute Engine API methods. When you use the gcloud CLI or the Google Cloud console, you are also making requests to the API and these requests count towards your rate quota. If you use service accounts to access the API, that also counts towards your rate quota.

Google enforces rate quotas at a per-minute (60 seconds) interval for each group. That means if your project reaches the maximum number of API requests anytime within 60 seconds, you must wait for that rate quota to refill before making more requests in that group. If your project exceeds a rate quota, you receive a 403 error with the reason rateLimitExceeded. To resolve this error, wait a minute then try your request again—the quota should be refilled at the start of the next interval.

The number of requests that you can make to the Compute Engine API is defined by quota groups as described in the following tables. Each group is counted separately, so you can achieve the maximum quota in each group simultaneously.

Rate quotas for global metrics

The following quota groups apply for all resources unless specified otherwise:

Quota group
Description
Metric name Default quota
Queries
Quota for global mutation methods that are not included under other quota metrics.

The following get methods also use this default metric:

  • networkFirewallPolicies.get
  • projects.getXpnHost
  • projects.getXpnResources
compute.googleapis.com/default Quota per project (defaultPerMinutePerProject): 1500 requests/minute
Read requests
Quota for global *.get methods.
compute.googleapis.com/read_requests Quota per project (ReadRequestsPerMinutePerProject): 1500 requests/minute
List requests
Quota for global *.list methods.
compute.googleapis.com/list_requests Quota per project (ListRequestsPerMinutePerProject): 1500 requests/minute
Operation read requests
Quota for globalOperations.get method.
compute.googleapis.com/operation_read_requests Rate per project (OperationReadRequestsPerMinutePerProject): 1500 requests/minute
Filtered list cost overhead

Quota for *.list and *.aggregatedList methods with filters.

Google Cloud charges quota usage for this metric in addition to the quotas against the compute.googleapis.com/list_requests and compute.googleapis.com/heavy_weight_read_requests metrics. You incur quota charges if there are more than 10k resources filtered out of the list requests. Compute Engine API rejects the list requests if you exceed this quota limit.

compute.googleapis.com/filtered_list_cost_overhead Rate per project (ListRequestsFilterCostOverheadPerMinutePerProject): 750k resources filtered out of the list requests per region per minute. As the quota is charged for every 10k resources, you see the limit as 75 (750k/10k) when you query for this quota limit on the Google Cloud console.
Global resource mutation requests
Quota for images.delete, images.deprecate, images.insert, images.setLabels, snapshots.delete, snapshots.insert, snapshots.setLabels, machineImages.insert, and machineImages.delete methods.
compute.googleapis.com/global_resource_write_requests Rate per project (GlobalResourceWriteRequestsPerMinutePerProject): 375 requests/minute
Heavy-weight mutation requests
Quota for patch, delete, and insert methods for the interconnects resources.
compute.googleapis.com/heavy_weight_write_requests Rate per project (HeavyWeightWriteRequestsPerMinutePerProject): 750 requests/minute
Heavy-weight read requests
Quota for *.aggregatedList methods.
compute.googleapis.com/heavy_weight_read_requests Rate per project (HeavyWeightReadRequestsPerMinutePerProject): 750 requests/minute

The following quota groups apply to global APIs with per method quotas:

Quota group
Description
Metric name Default limit
License insert requests
Quotas for licenses.insert method.
compute.googleapis.com/license_insert_requests
  • Quota per project (LicenseInsertRequestsPerMinutePerProject): 2.5 requests/second (150 requests/minute)
  • Quota per day per project (LicenseInsertRequestsPerDayPerProject): 30 requests/day
Project set common instance metadata requests
Quota for projects.setCommonInstanceMetadata method.
compute.googleapis.com/project_set_common_instance_metadata_requests Quota per project (ProjectSetCommonInstanceMetadataRequestsPerMinutePerProject): 36 requests/minute

Rate quotas for regional metrics

The following quotas apply to methods that use regional metrics:

Quota group
Description
Metric name Default quota
Quota per project per region
Queries
quota for regional and zonal methods that create, modify, or delete Compute Engine resources. For example, instances.insert, disks.update, and instances.delete methods.

The following get, list and patch methods also use this default_per_region metric:

  • projects.listXpnHosts
  • instances.getScreenshot
  • instances.getGuestAttributes
  • instances.getShieldedInstanceIdentity
  • instances.getEffectiveFirewalls
  • projects.listXpnHosts
  • instanceGroupManagers.listManagedInstances
  • instanceGroupManagers.listErrors
  • instanceGroupManagers.listPerInstanceConfigs
  • regionInstanceGroupManagers.listManagedInstances
  • regionInstanceGroupManagers.listErrors
  • regionInstanceGroupManagers.listPerInstanceConfigs
  • resourcePolicies.patch
compute.googleapis.com/default_per_region Queries per minute per region: 1500
Read requests
Quota for regional and zonal get methods such as autoscalers.get, disks.get, instances.get, and machineTypes.get.
compute.googleapis.com/read_requests_per_region Read requests per minute per region: 1500
List requests
Quota for regional and zonal list methods such as autoscalers.list, disks.list, instances.list, and machineTypes.list.
compute.googleapis.com/list_requests_per_region List requests per minute per region: 1500
Filtered list cost overhead

Quota for *.list and *.aggregatedList methods with filters.

Google Cloud charges quota usage for this metric in addition to the quotas against the compute.googleapis.com/list_requests_per_region and compute.googleapis.com/heavy_weight_read_requests_per_region metrics. You incur quota charges if there are more than 10k resources filtered out of the list requests. Compute Engine API rejects the list requests if you exceed this quota limit.

compute.googleapis.com/filtered_list_cost_overhead_per_regionBETA Rate per project (ListRequestsFilterCostOverheadPerMinutePerProjectPerRegion): 750k resources filtered out of the list requests per region per minute. As the quota is charged for every 10k resources, you see the limit as 75 (750k/10k) when you query for this quota limit on the Google Cloud console.
Operation read requests
Quota for regionOperations.get and zoneOperations.get methods.
compute.googleapis.com/operation_read_requests_per_region Operation read requests per minute per region: 1500
Global resource mutation requests per region
Quota for disks.createSnapshot, and regionDisks.createSnapshot methods.
compute.googleapis.com/global_resource_write_requests_per_region GlobalResourceWriteRequestsPerMinutePerProjectPerRegion: 375
Instance get serial port output requests
Quota for instances.getSerialPortOutput method.
compute.googleapis.com/get_serial_port_output_requests_per_region GetSerialPortOutputRequestsPerMinutePerProjectPerRegion: 1500
Heavyweight read requests
Quota for regionOperations.wait, zoneOperations.wait, and regionNetworkFirewallPolicies.getEffectiveFirewalls methods.
compute.googleapis.com/heavy_weight_read_requests_per_region Heavyweight read requests per minute: 750
Heavy-weight mutation requests per region
Quota for patch, delete, and insert methods for interconnectAttachments resource and for the networks.updatePeering method.
compute.googleapis.com/heavy_weight_write_requests_per_region HeavyWeightWriteRequestsPerMinutePerProjectPerRegion: 750
Instance simulate maintenance event requests
Quota for instances.simulateMaintenanceEvent method.
compute.googleapis.com/simulate_maintenance_event_requests_per_region SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion: 150
Instance list referrer requests
Quota for instances.listReferrers method.
compute.googleapis.com/instance_list_referrers_requests_per_region InstanceListReferrersRequestsPerMinutePerProjectPerRegion: 3000
Network endpoint write requests
Quota for networkEndpointGroups.attachNetworkEndpoints and networkEndpointGroups.detachNetworkEndpoints methods.
compute.googleapis.com/network_endpoint_write_requests_per_region NetworkEndpointWriteRequestsPerMinutePerProjectPerRegion: 1500
Network endpoint list requests
Quota for networkEndpointGroups.listNetworkEndpoints method.
compute.googleapis.com/network_endpoint_list_requests_per_region NetworkEndpointListRequestsPerMinutePerProjectPerRegion: 1500
Regional network endpoint write requests
Quota for regionNetworkEndpointGroups.attachNetworkEndpoints and regionNetworkEndpointGroups.detachNetworkEndpoints methods.
compute.googleapis.com/regional_network_endpoint_write_requests_per_region RegionalNetworkEndpointWriteRequestsPerMinutePerProjectPerRegion: 150
Regional network endpoint list requests
Quota for regionNetworkEndpointGroups.listNetworkEndpoints method.
compute.googleapis.com/regional_network_endpoint_list_requests_per_region RegionalNetworkEndpointListRequestsPerMinutePerProjectPerRegion: 1500

Request an increase in rate quotas

If you need a higher quota for making API requests, you can request an increase in the API quota from the Google Cloud console. For instructions, see Requesting a higher quota.

Best practices

Follow the Compute Engine API best practices for preserving rate quotas to mitigate the effects of rate quotas.

What's next