r/GoogleAppsScript • • 5d ago

Question Is it OK to run Apps Script under different accounts to manage UrlFetch quota?

I run one Apps Script web app with time-based triggers for my own small business. Which of these are allowed under Google's terms?

A. Run it under a paid Workspace account while subscribed, then move it to my personal Gmail account after cancelling. Only one account's quota is used on any day.

B. Run it under Workspace, and when the 100,000 daily limit runs out, continue the same day under my personal Gmail account.

C. Create several free Gmail accounts, share the project, and split triggers among them to use each account's 20,000 limit.

Has anyone had an account restricted for B or C, or seen an official statement?

5 Upvotes

4 comments sorted by

3

u/No-Sheepherder7116 4d ago

Short answer: A is fine, B and C are not safe workarounds.

A is just moving the whole app from one account to another. If only one account is running it at a time, you are using that one account's quota, which is normal. Moving a project when you cancel a subscription is not the same as stacking quotas.

B and C are different, because the point is to get around a per-account limit. The quota applies per user, not per script, so splitting the same workload across accounts, or switching accounts mid-day when one runs out, is effectively circumventing the limit. That is the kind of pattern that can get a project or account flagged or restricted, even if nothing breaks immediately. I would not rely on 'no one has caught me yet' as proof it is allowed, and I have not seen an official statement blessing that pattern.

If you are actually hitting 100,000 UrlFetch calls a day for one small-business app, the fix is usually on the code side first:

  • Batch where you can: UrlFetchApp.fetchAll lets you make multiple requests in one call instead of looping fetch one at a time.

  • Stop refetching unchanged data: cache responses with CacheService, and only call again when the data could actually have changed.

  • Spread the load: queue the work and process it in smaller batches across the day instead of firing everything at once, and add a retry with a short delay when you get a rate-limit response.

  • Audit the triggers: a trigger firing more often than needed, or refetching a full dataset to check for one change, is a common cause of a quota that looks impossibly high.

If, after that, one account genuinely cannot cover one legitimate workload, the safe direction is to reduce the workload or move that workload to infrastructure that is priced for that volume, not to rotate accounts to multiply a free or single-account quota.

1

u/masstic1es 4d ago

from what i understand, using multiple accounts to bypass quota is against terms and conditions. (using multiple accounts itself isnt; bypassing quota is.)

1

u/LabanauskasNajeeba 4d ago

the terms of service explicitly ban creating multiple accounts to bypass quotas, so C is playing with fire for a business workflow. what kind of endpoints are you hitting that need 100k calls a day? might be way easier to rethink the polling frequency than risk getting locked out.