Quotas for Google Services

    Apps Script services impose daily quotas and hard limitations on some features. If you exceed a quota or limitation, your script throws an exception and execution terminates.

    Current quotas

    Quotas are set at different levels for users of consumer accounts (such as gmail.com) and G Suite free edition (discontinued), or different G Suite editions.

    Daily quotas are refreshed at the end of a 24-hour window; the exact time of this refresh, however, varies between users.

    The table below lists the Apps Script daily quotas as of August 2018. The quotas shown below are provided solely to assist you in testing scripts. All quotas are subject to elimination, reduction, or change at any time, without notice.

    Feature Consumer
    (e.g., gmail.com)
    G Suite free edition (legacy) G Suite
    Basic / Gov
    G Suite Business / Enterprise / Education Early Access
    Calendar events created 5,000 / day 10,000 / day 10,000 / day 10,000 / day Flexible
    Contacts created 1,000 / day 2,000 / day 2,000 / day 2,000 / day Flexible
    Documents created 250 / day 500 / day 1,500 / day 1,500 / day Flexible
    Email recipients per day 100* / day 100* / day 1,500* / day 1,500* / day 1,500* / day
    Email read/write (excluding send) 20,000 / day 40,000 / day 50,000 / day 50,000 / day Flexible
    Groups read 2,000 / day 5,000 / day 10,000 / day 10,000 / day Flexible
    JDBC connection 10,000 / day 10,000 / day 50,000 / day 50,000 / day Flexible
    JDBC failed connection 100 / day 100 / day 500 / day 500 / day 500 / day
    Presentations created 250 / day 500 / day 1,500 / day 1,500 / day Flexible
    Properties read/write 50,000 / day 100,000 / day 500,000 / day 500,000 / day Flexible
    Spreadsheets created 250 / day 500 / day 3,200 / day 3,200 / day Flexible
    Triggers total runtime 90 min / day 3 hr / day 6 hr / day 6 hr / day 6 hr / day
    URL Fetch calls 20,000 / day 50,000 / day 100,000 / day 100,000 / day Flexible

    Current limitations

    The table below lists hard limitations as of August 2018. The limits shown below are provided solely to assist you in testing scripts. All limits are subject to elimination, reduction, or change at any time, without notice.

    Feature Consumer
    (e.g., gmail.com)
    G Suite free edition (legacy) G Suite
    Basic / Gov
    G Suite Business / Enterprise / Education Early Access
    Script runtime 6 min / execution 6 min / execution 6 min / execution 30 min / execution 30 min / execution
    Custom function runtime 30 sec / execution 30 sec / execution 30 sec / execution 30 sec / execution 30 sec / execution
    Simultaneous executions 30 30 30 30 60
    Email attachments 250 / msg 250 / msg 250 / msg 250 / msg 250 / msg
    Email body size 200kB / msg 200kB / msg 400kB / msg 400kB / msg 400kB / msg
    Email recipients per message 50 / msg 50 / msg 50 / msg 50 / msg 50 / msg
    Email total attachments size 25MB / msg 25MB / msg 25MB / msg 25MB / msg 25MB / msg
    Properties value size 9kB / val 9kB / val 9kB / val 9kB / val 9kB / val
    Properties total storage 500kB / property store 500kB / property store 500kB / property store 500kB / property store 500kB / property store
    Triggers 20 / user / script 20 / user / script 20 / user / script 20 / user / script 20 / user / script
    URL Fetch response size 50MB / call 50MB / call 50MB / call 50MB / call 50MB / call
    URL Fetch headers 100 / call 100 / call 100 / call 100 / call 100 / call
    URL Fetch header size 8kB / call 8kB / call 8kB / call 8kB / call 8kB / call
    URL Fetch POST size 50MB / call 50MB / call 50MB / call 50MB / call 50MB / call
    URL Fetch URL length 2kB / call 2kB / call 2kB / call 2kB / call 2kB / call

    Flexible Quotas Early Access

    Normally, if a script execution exceeds one of the above quotas or limitations, the script execution stops and an appropriate error message is returned. This can potentially leave the script's data in an undefined state.

    Under the flexible quota system, such hard quota limits are removed. Scripts do not stop when they reach a quota limit. Rather, they are delayed until quota becomes available, at which point the script execution resumes. Once quotas begin being used, they are refilled at a regular rate. For reasonable usage, script delays are rare.

    Exception messages

    If a script reaches a quota or limitation, it will throw an exception with a message similar to the following:

    • Limit exceeded: Email Attachments Per Message. This indicates that the script exceeded one of the quotas or limitations listed above.
    • Service invoked too many times: Calendar. This indicates that the script called the given service too many times in one day.
    • Service invoked too many times in a short time: Calendar. Try Utilities.sleep(1000) between calls. This indicates that the script called the given service too many times in a short period.
    • Service using too much computer time for one day. This indicates that the script exceeded the total allowable execution time for one day. It most commonly occurs for scripts that run on a trigger, which have a lower daily limit than scripts executed manually.
    • Script invoked too many times per second for this Google user account. This indicates that the script began executing too many times in a short period. It most commonly occurs for custom functions that are called repeatedly in a single spreadsheet. To avoid this error, code your custom functions so that they only need to be called once per range of data, as explained in the guide to custom functions.
    • There are too many scripts running simultaneously for this Google user account. This indicates that you have too many scripts executing at once, although not necessarily the same script. Like the exception above, this most commonly occurs for custom functions that are called repeatedly in a single spreadsheet.
    Was this page helpful?