Skip to content
Pedibee
Deliverability

User-rate limit exceeded (Mail sending): what Gmail's 429 means and how to fix it

"User-rate limit exceeded (Mail sending)" means one Gmail account hit its daily cap: 2,000 on paid Workspace. Here is how long it lasts and how to recover.

ByPedibee TeamPublishedReading time14 min read
A stack of envelopes beside a speed gauge with its needle in the red and an hourglass

The error itself doesn't mean your account is suspended, and you keep access to your mail while it lasts. Below: which limit you hit, how long it lasts, why the error can arrive late, and how to recover.

What does "User-rate limit exceeded (Mail sending)" mean?

"User-rate limit exceeded (Mail sending)" means one Google account (one user) has reached Google's daily limit on sending mail. Apps see it when they send through the Gmail API, for example with the users.messages.send method. Google's Gmail API error guide lists it as a 429 response with this text, "with a retry time":

429 Too many requests: User-rate limit exceeded (Mail sending)

Three things follow from that.

  • It is about the user, not your project. Your Google Cloud project's API quota is a different thing. You can have plenty of project quota left and still get this error.
  • You can't raise it. Google's guide says it plainly: "You can't increase per-user limits."
  • It carries a retry time. The error tells you when Google expects to accept sends again. Pedibee looks for it in the error message as "Retry after" followed by a UTC timestamp. Wait until then. Retrying in seconds won't help.

Which other errors look like it, and how are they different?

Several Gmail errors use similar words but mean different things. The fix depends on which one you have, so read the exact text first.

Error textWhat it meansWhat to do
429 Too many requests: User-rate limit exceeded (Mail sending)The user reached the daily sending limitStop sending from that account until the retry time
429 Too many requests: User-rate limit exceeded (no "Mail sending")The user's upload and download bandwidth limitSlow down and retry with backoff
429 Too many requests: Too many concurrent requests for userToo many parallel requests for one mailboxSend one request at a time per mailbox
403 userRateLimitExceededThe request reached the per-user request limitReduce requests or use exponential backoff
403 rateLimitExceededThe maximum request rate for the Gmail APIExponential backoff or a project quota increase
550 5.4.5 Daily user sending limit exceeded.The same daily limit, seen over SMTPSame as the first row
"You have reached a limit for sending email." or "You reached a Gmail sending limit."The same daily limit, seen in Gmail itselfSame as the first row
"You exceeded the maximum recipients."Too many recipients, seen in Gmail itselfFewer recipients per message or per day

All rows come from Google's Gmail API error guide, its list of SMTP error codes, and its page on Workspace sending limits. Links are in the sources at the end.

Two 550 errors that are not about your quota

Google's SMTP code list has two other 550 5.7.1 replies. "This message is likely unsolicited email" means the message was blocked as likely spam. "This email has been rate limited" is a different rate limit from the 5.4.5 daily-limit code, and Google's list points it to its page on limits for sending and getting email. Waiting for your quota to reset will not help with either. Look at Google's email sender guidelines and at your domain's spam rate and authentication, which our guide on how to read Postmaster Tools compliance status walks through.

What are Gmail's sending limits in Google Workspace?

A paid Workspace user can send 2,000 messages a day, with lower limits for mail merge and for trial accounts. These figures are from Google's page on Gmail sending limits in Google Workspace, last updated 9 October 2026.

LimitPaid accountTrial account
Messages per day per user2,000; 1,500 for mail merge (previously called multi-send)500
Recipients per message sent with the Gmail API500Not listed separately
Total recipients per day10,000; 1,500 for mail mergeNot listed separately
External recipients per day3,000Not listed separately
Unique recipients per day3,000, of which 2,000 external500 external

Google also lists what counts towards these limits. Messages sent from an alias or alternate address count. So do messages sent by delegated users and by Gmail's vacation responder.

Personal @gmail.com accounts follow a different page. Gmail Help says you may see the limit message there after "more than 500 emails sent in a day", or after one email to more than 500 recipients. This guide covers Workspace accounts.

What this means for outreach

Outreach usually sends one email to one person. In that case two limits land in the same place: 2,000 messages a day, and 2,000 unique external recipients a day. Whichever you hit first, the ceiling is about 2,000 people per account per day.

Two other routes have their own rules. Google says limits are different if your organization routes mail through the SMTP relay service, and quotas might be different in Google Apps Script. This guide covers sending as a user through the Gmail API, the web app or SMTP.

Does API-sent personalised email count as "mail merge"?

Google's Workspace sending limits page does not say whether personalised emails sent one at a time through the Gmail API count as "mail merge", so we don't know. The page lists "1,500 for mail merge (previously called multi-send)" but does not define it further. The Gmail help page about mail merge that we tried returned "page not found" on 13 October 2026, so we could not check it there either.

If you want a margin for that doubt, plan your daily volume below 1,500 per account. That is our caution, not a rule Google states.

How long does the limit last?

Gmail's daily sending limit blocks new sends for up to 24 hours, and Google counts it over a rolling 24-hour window, so there is no midnight reset. Google's limits page says: "Limits per day are applied over a rolling 24-hour period, not a set time of day." Room comes back as the sends from 24 hours ago age out.

Google also says that after reaching a limit, users "can't send new messages for up to 24 hours". They "can still access their Google Workspace account, get incoming email, and use their other Google services." The Gmail API guide adds that exceeding daily limits "might result in these errors for multiple hours before the server accepts the request."

Why did the 429 arrive late, and why isn't a 200 proof the email was sent?

The Gmail API can return 429 errors several minutes after a user goes over quota, so a send that got a 200 just before the first 429 may not have gone out. The Gmail API guide says: "once the user exceeds their quota, there can be a delay of several minutes before the API begins returning 429 error responses. You can't assume that a 200 response means the email was successfully sent."

That matters in both directions. If you resend them all, some people get the email twice. If you assume they all went, some people never get it.

How to check the sends just before the 429

  1. Note the time of the first 429.
  2. List the sends your system recorded as successful in the few minutes before it.
  3. Open the account's Sent folder in Gmail and look for each of those recipients.
  4. Resend only to people whose email is not there.

Keep the message id your system got back for each send, so you can match records to the Sent folder. If your tool only has permission to send, as Pedibee does, someone with access to the mailbox has to do this check in Gmail.

Three questions are easy to mix up: was the email sent (this guide), did it reach the inbox (Postmaster Tools covers part of that for Gmail), and did a person read it (many opens are made by software, so opens can't tell you on their own).

Why do other apps use up the same quota?

Google's sending limits are per user, not per app. The Gmail API guide says the limits "are per-user and are shared by all of the user's clients, whether API clients, built-in or web clients, or SMTP MSA."

In practice one pool covers all of these:

  • the Gmail web app and mobile apps
  • any add-on or CRM that sends as that user
  • people with delegated access
  • aliases of that user
  • the vacation responder
  • your outreach tool or your own script

A tool can only count the emails it sent itself. If a rep sends 300 emails by hand from the same account, the tool does not see them, and Google may refuse the tool's sends earlier than its own count suggests.

How to fix "User-rate limit exceeded": steps in order

Do these in order. Each step protects the next.

  1. Stop sending from that account until the retry time in the error. Retrying in a loop does not help, and Google says the error can persist for hours.
  2. Put everyone not yet sent back in the queue. They did nothing wrong, so don't mark them failed or drop them from the campaign.
  3. Never resend blindly. Check the account's Sent folder for the sends from the few minutes before the first 429, and resend only to people with no copy there.
  4. Count manual and one-off emails against the same budget. If people send from the account by hand, plan your automated volume well below the limit to leave them room.
  5. Spread volume over more accounts only if each one is a real, warmed-up user. Google's own guide suggests "splitting processing across multiple Gmail accounts". Each extra account should belong to a real person on your team, and it needs to warm up a new Gmail account before it sends to strangers. Never rotate addresses or domains to get past spam filters.
  6. On a trial, or just after converting from one, expect 500 a day. Google doesn't raise limits during the free trial. After you convert to paid, they rise once the domain has "cumulatively paid at least $100 USD (or equivalent)", and "It can take up to 75 days". Until then, plan for 500.

How Pedibee handles the limit

Pedibee keeps each Gmail account under Google's cap and treats a 429 as "wait", never as "failed". Here is what it does, as built today.

  • A cap below Google's. Each Google Workspace account sends at most 1,900 emails per rolling 24 hours, under Google's 2,000. Legacy personal @gmail.com connections are capped at 450. During a warm-up the cap is lower and grows day by day. The cap follows Google's 2,000 message limit, not the 1,500 mail merge figure. If you want that extra margin, keep each account's daily audience below 1,500 yourself.
  • One limit per Gmail account. Campaigns, sequences, automations, one-off and scheduled emails, warm-up messages, and emails sent through the API or an AI assistant all share it. There is no separate per-campaign limit.
  • A steady pace. For campaigns, sequences and automations, Pedibee sends one email at a time per account, with a random gap, inside the sending window you set.
  • Reading Google's retry time. When Gmail answers with a 429 or a "User-rate limit exceeded" message, Pedibee reads the retry time from Gmail's message. If it can't find one, it waits one hour. For campaigns, sequences and scheduled emails, it pauses that account until then, puts the person back in the queue and reschedules. Automations try again later. A one-off email sent right away gets a "limit reached" error instead of being queued. Nobody is marked failed.
  • An optional backup Gmail. A campaign can name a second connected Gmail. When the main account hits its limit, the next person goes out from the backup.

Pedibee counts its own sends. Emails sent from the Gmail app or another tool count towards Google's limit but not Pedibee's. That is exactly the case where Gmail refuses before Pedibee expects it, and where the steps above take over. Pedibee does not check whether the sends just before a 429 went out. It only has permission to send, not to read the mailbox, so that check stays with you.

An example timeline

This is an illustrative example with invented times and counts, not customer data.

TimeWhat happens
Earlier that dayA rep sends 300 emails from sales@ in the Gmail app. Pedibee can't see these.
14:02Pedibee sends its 1,700th email of the last 24 hours from sales@. Its own count says 200 of 1,900 remain.
14:04Gmail answers the next send with 429 "User-rate limit exceeded (Mail sending)" and a retry time.
14:04Pedibee pauses sales@ until that retry time and puts that person back in the queue.
14:04 onwardsIf the campaign has a backup Gmail, the next person goes out from it. If not, the campaign waits.
After the retry timesales@ sends again, starting with the person who was put back.

The capacity card shows that sales@ hit its limit and when sending resumes. Read how Pedibee paces each Gmail, or see sending from your own Gmail in the product. Setup for each account is in the help page on connecting Gmail.

What to fix next: warm-up and authentication

Hitting the limit is often the first sign that volume grew faster than the account's history. Google's sender guidelines say: "Start with a low sending volume to engaged users, and slowly increase the volume over time." A new account should go through a warm-up before it sends outreach at scale.

Volume is only half of it. Google's sender guidelines require SPF or DKIM for all senders, and SPF, DKIM and DMARC for bulk senders. They also ask senders to keep the spam rate reported in Postmaster Tools below 0.1% and never let it reach 0.3%. You can check your domain's SPF, DKIM and DMARC records in Pedibee.

What this guide can't tell you

Some questions have no clear answer yet.

  • How much quota is left today. We know of no Google API that reports a user's remaining sending quota. Any tool's count, including Pedibee's, is an estimate based on its own sends.
  • Whether API sends count as mail merge. Google's limits page does not define whether one-at-a-time API sends fall under the 1,500 mail merge limit.
  • Whether the numbers will hold. Google's own words: "Sending limits can change without notice." Check Google's page before you plan volume around these figures. Current plans are on the pricing page.

Sources

Frequently asked questions

How long does "User-rate limit exceeded (Mail sending)" last?

Google says a user who reaches a sending limit can't send new messages for up to 24 hours. The limit runs over a rolling 24-hour period, not a set time of day, so room comes back as your oldest sends age out. The Gmail API documentation adds that the error can continue for multiple hours before the server accepts sends again. Wait for the retry time in the error rather than retrying in a loop.

Can I ask Google to raise the limit?

No. Google's Gmail API documentation says you can't increase per-user limits. The one case where limits rise is after a free trial: once you convert to a paid subscription, Google raises the limits automatically when the domain has cumulatively paid at least $100 USD (plus the domain's cost if you bought it from Google). It says this can take up to 75 days after reaching that amount. If one account isn't enough, the answer is more real, warmed-up users, not a higher cap.

Do emails sent from the Gmail app count towards the same limit?

Yes. Google says the limits are per user and shared by all of the user's clients: API clients, the web and mobile apps, and SMTP. Emails sent from an alias, by a delegate, and by the vacation responder also count. An outreach tool can only count what it sent itself, so manual email from the same account can push you over the limit before the tool expects it.

Does a 200 response from the Gmail API mean the email was sent?

Not always. Google says there can be a delay of several minutes before the API starts returning 429 errors once a user is over quota, and that you can't assume a 200 response means the email was sent. If you hit a 429, check the sends from the few minutes before it in the account's Sent folder before deciding whether anyone needs the email again.

Is a 550 5.7.1 error the same thing?

No. In Google's list of SMTP codes, 550 5.7.1 "This message is likely unsolicited email" means the message was blocked as likely spam. 550 5.7.1 "This email has been rate limited" is a different rate limit from the 5.4.5 daily-limit code, and Google's list points it to its page on limits for sending and getting email. Neither is the daily-limit code (5.4.5), so waiting for your quota to reset will not fix them. Start with Google's email sender guidelines and your domain's authentication.

Keep reading