Click here to see your recently viewed pages and most viewed pages.

Google Apps Provisioning API Limits and Quotas

Limits and quotas protect the Google infrastructure from an automated process that uses the Provisioning API in an inappropriate way. Excessive requests from an API might result from a harmless typo, or may result from an inefficiently designed system that makes needless API calls. Regardless of the cause, blocking traffic from a specific source once it reaches a certain level is necessary for the overall health of the Google Apps system. It ensures that one developer's actions can not negatively impact the larger community.

In the unlikely event that your API request fails, you'll receive an HTTP status code response. A status code of 403 has error information about incorrect input and an HTTP status code of 503 has error information indicating which API quotas have been exceeded. These responses allow your custom application to detect these errors and take appropriate action.

If your requests need to be completed in a fixed period of time, send your requests in parallel or use multiple threads in your Java or C# application. An example of parallel requests is requesting small batches of changes from different users rather than adding or removing lots of user settings from one user simultaneously. In the case of threads, try starting with 10 threads, one thread per user or group request. Note, the thread recommendation has trade-offs and is not useful for all API situations. If the number of requests gets too high, quota errors will occur. Another trade-off example is the Email Migration API's quota for the maximum overall message upload rate. The upload rate is one API request - per second - per user, no matter how many threads are making upload requests.

For all errors that are time based (maximum of N things for N seconds per thread), especially the 503 status code errors, we recommend your code catch the exception and, using an exponential backoff algorithm, wait for a small delay before retrying the failed call. An Provisioning API example for one thread is to wait 5 seconds and retry the failed call. If the request is successful, repeat this pattern for the other threads. If the second request is not successful, your application should scale back on the frequency of the request until a call is successful. For example, increase the initial 5 second delay to 10 seconds and retry your failed call again. Also, decide on a retry limit. For example retry a request 5 to 7 times with different delay times before your application returns an error to the user.

API Limit Categories Limits
Group added as a member to another group May have a delay up to 10 minutes before the child group's members appear as members of the parent group. This limit could change depending on the system's capacity.
Query rates If your query rate for provisioning requests is too high, you might receive HTTP 503 responses from the API server indicating that your quota has been exceeded. If you get these responses, use an exponential backoff algorithm to retry your requests.
Renaming users Can take up to 10 minutes to propagate across all services. Before renaming a user, it is recommended to logout the user from all browser sessions and services.
API Quota Categories Quotas
ClientLogin authentication tokens Valid for 24 hours
Groups, per account With Google Apps for Business and Education, you can create as many groups for your domain as you need. With a Google Apps for free edition account, the number of groups is limited to 10.
Groups, members per group With Google Apps for Business and Education, there's no limit to the number of members a group can have. With a Google Apps for free edition account, a group can contain up to 100 members.
Groups, groups per user A user can be a member of up to 2,000 groups. A user can be the owner of up to 8,000 groups. And, a group can be owned by multiple users.
Multiple domain, maximum number of domains allowed in an account 600 (1 primary domain + 599 additional domains)
Nicknames The total number of nicknames you can create for your account is ten times the number of users in the account. Additionally, the maximum number of nicknames for one user account is 30, but the total number of nicknames for your account doesn't allow every user account to have 30 nicknames.
Organization Unit, maximum number of users moved at one time 20 users can be moved at one time. And the user's primary email addresses must already exist in the account.
Organization Unit, name and description An organization unit's name supports unicode/UTF-8 characters and should not be longer than 128 characters. An organization unit's description should be no more than 512 characters.
Results pagination The API returns a maximum of 100 entries per page for requests from the User, Nickname, Property Name response, Domain User, User Alias, OrgUnit, and OrgUnit User feeds. The API returns a maximum of 200 entries per page for requests from Group, Member, Owners feeds. See Results Pagination.
User alias, using a deleted user alias A deleted user alias can be used again as an alias immediately

Other Types of Limits Limitations and Guidelines
First and Last Names First and last names have a maximum of 40 characters. They support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashers(-), forward slashes {/), and periods (.).
Groups, deleting Deleting a group does not delete the number of user accounts.
Groups, sending messages To deter spam and email abuse, Google limits the number of messages you can send at once to external recipients. If you send a message to a group, each external member is counted as one recipient. For more information, see email sending limits and best practices for sending large amount of email through Gmail.
Multiple domain feed limitations for this release For the latest multiple domain feed limitations, see Multidomain limitations. This includes information for domain aliases, account merging, etc.
Passwords Can contain any combination of characters. A minimum of 8 characters is required. The maximum length is 100 characters.
Users, disk space quota The user's disk space quota is 25600MB. And the ability to set the user's disk space quota using the apps:quota is no longer available.
Usernames Usernames can contain letters (a-z), numbers (0-9), dashers (-), underscores (_), and apostrophes ('). Google Apps recognizes dots or periods (.). This is not the same as Gmail.
Usernames, renaming Google Talk will lose all remembered chat invitations after renaming. The user must request permission to chat with friends again. The old username is retained as an email alias to ensure continuous mail delivery in the case of email forwarding settings and will not be available as a new username. Use the DELETE operation to remove the email alias after renaming.