Google Cloud uses quotas to restrict how much of a particular shared Google Cloud resource that you can use. Each quota represents a specific countable resource, such as API calls to a particular service, the number of load balancers used concurrently by your project, or the number of projects that you can create.
This document describes how to work with quotas in your projects, including how to find and modify your existing quota limits, how to request higher quota, and how to monitor quota usage.
To learn how to view other API usage metrics, see Monitoring your API usage.
Try it for yourself
If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.Get started for free
Before learning about how to monitor and manage your quota, it's useful to understand the basics of how Google Cloud's quota system works. This section introduces some key quota concepts, including quota types, quota limits, and quota increase requests.
Why do we enforce quotas?
Quotas are enforced for a variety of reasons, including:
- To protect the community of Google Cloud users by preventing unforeseen spikes in usage and overloaded services.
- To help you manage resources. For example, you can set your own limits on service usage while developing and testing your applications to avoid unexpected bills from using expensive resources.
Types of quota
There are two categories for quotas:
- Rate quotas are typically used for limiting the number of requests you can make to an API or service. Rate quotas reset after a time interval that is specific to the service—for example, the number of API requests per day.
- Allocation quotas are used to restrict the use of resources that don't have a rate of usage, such as the number of VMs used by your project at a given time. Allocation quotas don't reset over time, instead you must explicitly release the resource when you no longer want to use it—for example, by deleting a GKE cluster.
Within these categories, some quotas are global and apply to your usage of the resource anywhere in Google Cloud, while others are regional or zonal and apply to your usage of the resource in a specific Google Cloud region (both quota types) or zone (allocation quotas only). For example, there are separate limits for how many Compute Engine VM instances that you can create in each Google Cloud region.
Quotas are enforced on a per-project basis, with the exception of the number of projects that you can create, which is enforced per user account and billing account.
Viewing quota information
There are several ways to view and manage your Google Cloud quota:
- In the Google Cloud Console
- Using the
- Using the Service Usage API
- As quota metrics in Cloud Monitoring
You can see details of how to use these approaches in the rest of this document. Each product or service also has its own quotas and limits page with specific information about that service’s quotas—for example, the GKE Quotas and limits page.
Understanding quota limits
While many services have default quotas for some resources, the set of quota limits that apply to your applications are specific to you, your project, or your organization. For example, if you are using a free trial account to explore the platform, you might have very low quota for some resources compared to even the lowest quotas for a billed account. Enabling billing for your project increases quotas for most services. Quotas can also increase as your use of Google Cloud expands over time.
If your project needs more of a particular resource than your quotas allow, you can request more quota for a specific service. You can find out more about how quota increase requests work in About quota increase requests. You can also add your own limits for certain quotas if you want to impose spending limits, particularly when developing or testing an application that uses expensive resources.
Some quotas are unlimited for particular users. In this case, you can use as much of that resource as you want.
Finally, a small number of quotas cannot be increased from their default values—for example where higher usage constitutes an antipattern or where resources are very limited. These are typically documented in the relevant service's Quotas and limits page, as in this example from Cloud Functions.
Running out of quota
In most cases, if you run out of quota the task that you are trying to perform, such as deploying an application, creating a new project, or calling an API, fails and you get a quota error. The task continues to fail until you free up resources (for allocation quota), the time period resets (for rate quota), or you request and are granted a quota increase.
How the quota error appears depends on the tool or client that you use to interact with Google Cloud. You can see details of quota errors in Quota errors.
You can avoid getting quota errors by setting up monitoring to alert you when you are nearing quota limits. You can find out more about monitoring your quotas in Monitoring and alerting on quota metrics, later in this document.
About quota increase requests
Most quota increase requests are evaluated by automated systems based on strict criteria, including the availability of resources, the length of time you've used Google Cloud, and other factors. Requests that don't meet specific criteria are denied. Evaluation criteria for automated reviews is not disclosed to ensure fairness for all customers and prevent attempts to manipulate the process. In some cases, quota increase requests are escalated to human reviewers, who also follow strict criteria but can consider your unique circumstances.
You might be asked to pay in advance for some quota increases. For example, you might be asked to make a payment if you request more projects that will use paid cloud services. The payment can be applied to any charges you incur in the future and will be visible as a credit in your account.
Quota increase requests are handled by Cloud Customer Care (not Billing), who process your request, typically within 2-3 business days. You are sent an email when your request is received, to which you can respond if you have questions or want to provide additional information about your request (for example, if your increase request is urgent). You then get another email after the request is processed, notifying you whether the quota increase was approved or denied. The email provides the effective date of the increase, if applicable.
You can find out more about how to request more quota in Requesting a higher quota limit.
Permissions for viewing project quota
To view your project quota in the Google Cloud Console or to access project quota programmatically, you must have the following IAM permissions:
resourcemanager.folders.get(if you want to view quota for an entire Folder)
resourcemanager.organizations.get(if you want to view quota for an entire Organization)
Permissions for changing project quota
To change your quota at the project, folder, or organization level, you must have the following permission:
This permission is included by default for the following roles: Owner, Editor, Quota Administrator, and Service Usage Admin.
Viewing your quota in the Cloud Console
You can view your current quota limits in two different areas of the Google Cloud Console:
- The Quotas page, which lists all quota usage and limits for your project
- The Cloud Console API dashboard, which lists quota information for a particular API, including resource usage over time
Viewing all project quotas
To view quota usage and limits for all resources in your project:
In the Google Cloud Console, go to the Quotas page.
The list includes one line item for each type of quota available in each service.
Sort and filter the results to focus on the information you need:
- To view a specific property, click Filter table.
- To sort the lists alphabetically, hold the pointer over the Service, Limit name, Quota status, or Details heading.
- By default, the list is sorted to show your most used quota first (in terms of peak usage over the last seven days), which helps you see limits that are at risk of being exceeded. To view the least used first, toggle the Quota status arrow.
- To learn more about your Current Usage for a particular quota, in the Details column, click All Quotas.
The quotas usage metrics listed on the Quotas page are calculated as follows:
- Rate quotas:
- For day-rate quotas, the number listed represents the total usage so far in the current 24-hour period.
- For per-minute or per-100-seconds quota, the number listed represents the average usage in the past 24 hours.
- Allocation quotas: The number listed represents the resource quantity (such as the number of load balancers) currently in use by your project.
You can learn more about quotas for a specific service by reading the documentation for that service. For example, Compute Engine quota is documented in Resource quotas.
Viewing API-specific quota
To view detailed quota information for a particular API, including usage over time, visit the API's quota page in the Cloud Console. Depending on the API, these limits can include requests per day, requests per minute, and requests per minute per user. Some APIs set very low limits until you enable billing on your project.
You can view the current limits for a particular API in two different areas of the Cloud Console:
On the Cloud Console APIs & Services Dashboard page. On this page, select your project, click the API name, and then click Quotas. The Quotas page shows the quota names for the API. You can expand each quota to see detailed usage over time, as well as your current limit. By default, the limits displayed are those imposed by Google. You can cap usage as described in the Capping usage section. If there is no Google-imposed limit on a given quota, the limit is displayed as Unlimited.
Some quotas do not appear on an API-specific quota page. For example, requests to the Compute Engine API have an API-specific quota page, but this doesn't include Compute Engine compute resource usage (allocation quota). In addition, if you are using a service in multiple locations, the API-specific quota page does not show regional or zonal quota limits and their usage. For a complete list of your project's quota usage that you can filter by location, see the project Quotas page.
Viewing the number of projects that you can create
Each user account (including service accounts) and billing account has a limit to the number of projects that they can create. If you have fewer than 30 projects remaining in your quota, a notification displays the number of projects remaining in your quota on the New Project page. You can find out more about managing this quota in Managing project quotas and Project quota requests.
Managing your quota using the Cloud Console
Depending on your resource usage, you might want to adjust your project's quota limits up or down. This section describes how to change your provided quota limits. To see your quota limits, in the Details column, click All Quotas.
To filter the list of quotas by specific properties:
Go to the Quotas page in the Google Cloud Console:
ClickFilter table to query your quota by a specific property.
Requesting a higher quota limit
You can request an increase to most quotas directly in the Google Cloud Console using the steps below. You might encounter one of the following exceptions:
- In some cases, the Google Cloud Console redirects you to a separate form to request an increased limit. After you submit the form, Google Cloud acknowledges your request by email.
- Some quotas cannot be updated using the Google Cloud Console. If you find that you cannot change a quota from the console, request the increase from Cloud Customer Care. The Billing team does not handle quota limit increases.
To find out more about how the quota increase process works, see About quota increase requests.
To request a higher quota limit from the Google Cloud Console:
Go to the Quotas page:
Select the quota you want to change as follows:
- Click ALL QUOTAS in the row of the quota you want to change. In the QUOTA PANEL, click the Global checkbox.
- Alternatively, you can click warning if it displays in the Quota status column. In the QUOTA PANEL, click the checkbox next to the quota you want to change.
On the main Quotas page, clickEDIT QUOTAS.
Complete the request form that displays to the right as follows:
- In the New limit field, enter the increased quota you are requesting.
- In the Request description field, enter the reason for your request. It's useful to include information such as future growth plans, region or zone spread, and any additional requirements or dependencies.
- Click NEXT.
- In the Contact details panel, enter your phone number in the Phone field.
- Click DONE.
Click SUBMIT REQUEST.
After you submit your request in the Google Cloud Console, Google Cloud sends you an email acknowledging your request. You can respond to this email if you need further assistance. Cloud Customer Care processes your request, typically within 2-3 business days, then sends you a second email notifying you whether the quota increase was approved or denied. The email provides the effective date of the increase, if applicable.
You might want to limit usage of a particular resource by setting your own quota limits. For example, to prevent getting billed for usage beyond the free courtesy usage limits, you can request per-day caps. To cap quota, edit the limits on the API-specific quota page.
In the Google Cloud Console, go to the Quotas page.
ClickFilter table to query your quota by a specific property.
Click ALL QUOTAS for the usage you want to cap.
Click the checkbox to select the property you want to edit.
Complete the request form.
Enter your revised quota limit, and optionally, a description.
Click SUBMIT REQUEST.
If you want to cap a quota that doesn't appear on this page, or set a limit higher than the provided maximum, then edit your limits as described in Requesting higher quota.
Managing your quota using the
gcloud command-line tool (alpha)
You can use the
gcloud command-line tool to get current quotas and limit quota usage for
some Google Cloud APIs and services, including project-, folder-,
quotas where available.
To use this approach, first ensure that you have installed and initialized the latest version of the Cloud SDK, including the alpha commands component. If you are using Cloud Shell to interact with Google Cloud, the Cloud SDK is installed for you.
To view a project's quota for a particular service, run the following command, substituting your project ID and service name:
gcloud alpha services quota list \ --service=SERVICE_NAME.googleapis.com \ --consumer=projects/PROJECT_ID
To view the same service's quota details for an organization:
gcloud alpha services quota list \ --service=SERVICE_NAME.googleapis.com \ --consumer=organizations/ORG_ID
For a complete list of
gcloud quota commands and flags, see the
Cloud SDK reference.
In addition to
gcloud quota, some services have their own command-line access to quota and resource usage
information. For example, Compute Engine lets you access quota information
Managing your quota using the Service Usage API
You can use the Service Usage APIs to get current quotas and limit the quota usage for some Google Cloud APIs and services. For more information about Service Usage, see the following:
- For an overview, see What is Service Usage?
- For an API reference, see APIs and reference.
- For usage guides, see How-to guides.
You cannot use the Service Usage API to request a higher quota. For this activity, you must use the Cloud Console.
Monitoring and alerting on quota metrics
The Cloud Monitoring API and UI lets you monitor quota usage, limits, and errors in greater depth. You can use these metrics to create custom dashboards and alerts, so you can monitor quota usage over time and receive alerts when, for example, you are approaching a quota limit.
Cloud Monitoring supports a wide variety of metrics that you can combine
with filters and aggregations for new and insightful views into your quota
usage. For example, you can combine a metric for allocation quota usage with a
quota_metric filter on Cloud TPU names.
To use Metrics Explorer to view the metrics for a monitored resource, follow these steps:
- In the Google Cloud Console, go to the Monitoring page.
- In the Monitoring navigation pane, click Metrics Explorer.
- Ensure that Metric is the selected tab.
- In the Find resource type and metric field, select from the menu or
enter the name for the resource and metric. Use the following information to complete the
- For the Resource, select or enter Consumer Quota.
- For the Metric, select or enter Allocation quota usage or Rate quota usage, depending upon the type of quota you want to monitor.
- To modify how the data is displayed, use the Filter, Group By, and Aggregator menus. For example, you can group by resource or metric labels. For more information, see Selecting metrics.
Similarly, to see quota limits or exceeded errors, first select Consumer Quota as the resource type and then select Quota limit or Quota exceeded error.
After you've found the quota usage information you want, you can use Cloud Monitoring to create custom dashboards and alerts to help you monitor and maintain a robust application. For more information, see the following documents:
For examples of common quota-specific alerting policies, see Using quota metrics.
The Cloud Monitoring reference guide includes a detailed reference for quota metrics.
Checking quota metric support
Not all services support quota metrics in Cloud Monitoring. To see applicable quota metrics for supported services, select Consumer Quota as the resource type when building a chart or creating an alerting policy. Services that don't support quota metrics aren't displayed.
Common services that support quota metrics include Compute Engine, Dataflow, Cloud Spanner, Pub/Sub, Cloud Vision, Speech-to-Text, Cloud Monitoring, and Cloud Logging.
Common services that do not support quota metrics include App Engine, Cloud Storage, and Cloud SQL.
If your project exceeds a quota while using a service, Google Cloud returns an error based on how you accessed the service:
- If you exceeded a quota with an HTTP/REST request, Google Cloud returns an
429 TOO MANY REQUESTSstatus code.
- If you exceed a quota with an API request, Google Cloud returns an HTTP
413 REQUEST ENTITY TOO LARGEstatus code.
- If you exceeded a quota using gRPC, Google Cloud
ResourceExhaustederror. How this error appears to you depends on the service.
- If you exceeded a quota using a
gcloudcommand-line tool command, the
gcloudtool outputs a quota-exceeded error message and returns with the exit code
Rate quotas reset after a predefined time interval that is specific to each service. For more information, see the quotas documentation for the specific service.
If you want to be alerted when errors happen in future, you can create custom alerts for specific quota errors, as described in Monitoring quota metrics.