Sending limits
Anypost applies a monthly quota set by your plan and a daily limit that starts conservative and rises as you build a healthy sending history. On a paid plan, sending past your monthly quota is billed as overage rather than blocked; the daily limit is always a hard cap.
The two limits
Monthly quota. The volume included with your plan, reset on the first of each month. You can see it on your dashboard, and upgrading your plan raises it. On a paid plan, sending past the quota is not blocked: the extra is billed as overage. On the free plan the quota is a hard cap.
Daily limit. A per-team ceiling on how much you can send in a day, and a hard cap on every plan. Unlike the monthly quota, it is not fixed: a new account or a newly upgraded plan starts with a conservative daily limit, and Anypost raises it automatically as you send consistently to recipients who want your mail. It can also fall if your bounce or complaint rate climbs.
The daily limit is how Anypost protects shared delivery reputation while still letting a sender who has earned trust grow into real volume. It adapts on paid plans; the free plan has a fixed daily limit that does not grow.
Which one applies
Every send is checked against both:
- The daily limit is a hard cap on all plans. A send that would cross it is rejected.
- The monthly quota is a hard cap on the free plan, but on paid plans it is the point where overage starts, not a wall.
So on a paid plan the daily limit is what actually stops a send; the monthly quota only decides when overage begins. On the free plan, whichever limit you reach first stops you.
Both reset on their own schedule: the daily limit at the start of each day, the monthly quota on the first of each month.
Overage
On a paid plan, sending past your monthly quota does not stop you. The overage is billed at your plan's per-1,000 rate, rounded up to the next 1,000 messages. On a plan that charges $0.20 per 1,000, sending 2,001 messages past your quota in a month bills 3 × $0.20 = $0.60.
Overage is not a separate charge. It appears as a line item on your next subscription invoice, labeled with the month it covers, so a month's overage is collected with the following month's renewal rather than as its own transaction. The line names the period (for example, "Overage — May 2026"), so seeing May's overage on a June invoice is expected.
Your daily limit still applies while you are in overage, so it bounds how much you can run up in a single day. The free plan has no overage: it stops at the monthly quota.
Growing your daily limit
On a paid plan, the daily limit tracks real sending behavior, so the way to raise it is to be the kind of sender receiving mail servers welcome:
- Send consistently. Steady, predictable volume builds trust faster than sporadic bursts.
- Keep bounce rates low. Mail to addresses that don't exist signals a dirty list. Anypost suppresses hard bounces automatically; don't work around it.
- Keep complaints low. Send only to recipients who asked to hear from you, and honor unsubscribes promptly.
- Authenticate your domains. A verified domain with proper DNS is a prerequisite for building any reputation at all.
There is no published formula, target number, or schedule for the daily limit, and that is deliberate: it reflects your actual sending behavior, not a value to engineer toward. Send well and it rises on its own.
When you hit a limit
A send that would exceed your daily limit is rejected with 429 before any
message is accepted, on every plan. On the free plan, exceeding your monthly
quota is rejected the same way. On a paid plan the monthly quota meters
overage instead of rejecting. The response names which limit you
hit:
{
"error": "quota_exceeded",
"scope": "daily",
"used": 5000,
"limit": 5000,
"retry_after_seconds": 41820
}scopeismonthlyordaily, naming the limit you reached. Amonthlyrejection only happens on the free plan.retry_after_seconds(and theRetry-Afterheader) is how long until that limit resets: the next day fordaily, the first of next month formonthly.
A 429 rejects the whole request and accepts nothing, so it is safe to retry
after the window. If you are sending in batches, a batch
that would cross a limit is rejected in full. Split it and send the remainder
after the reset, or spread large jobs across the day rather than firing them in
one burst.
Account review
Separately from these limits, an account can be paused for review if its sending pattern looks harmful to recipients or to shared reputation. A paused account can still sign in and see its dashboard, but new sends are rejected. If your team is paused, the dashboard shows why and how to reach support.
Where to go next
- Suppressions: how bounces and complaints are handled, and why working around them hurts your limit.
- Batch sending: send efficiently without tripping a limit mid-job.
- API conventions: the shared rules for status codes and retries.