Telegram sending limits and how long they last
Why Telegram limits sending in the first place
Telegram doesn’t publish a single official rate limit document the way some platforms do. What you actually run into is a mix of server side flood control, per action throttling, and behavioral flags that kick in when an account does something that looks automated or abusive. The system exists to stop spam, mass messaging, and scraping, and it reacts to patterns rather than a fixed number you can memorize.
That’s the first thing to understand if you run Telegram infrastructure: there isn’t one “sending limit.” There are several separate mechanisms, and they get triggered by different behaviors and cleared on different timelines.
FLOOD_WAIT: the most common limit you’ll see
If you send messages, join channels, or hit certain API methods too quickly, Telegram’s servers respond with a FLOOD_WAIT error. This is the standard rate limiting response baked into the MTProto API. The error comes back with a number of seconds attached, and the client (or your bot) is expected to wait that long before retrying the same method.
FLOOD_WAIT durations scale with how aggressively the limit was hit. A minor burst might get you a wait of a few seconds. Repeated or heavier bursts on the same method can push that into minutes, and in persistent cases, hours. The wait is tied to the specific method you called, not a blanket freeze on the account, so a FLOOD_WAIT on messages.sendMessage doesn’t necessarily stop you from reading chats or checking your contacts.
This is the limit you’ll see constantly if you’re running any kind of automated client, a userbot, or a self hosted instance that sends on a schedule. It’s not a punishment in the same sense as a ban. It’s the server telling your client to slow down, and it clears itself once the timer runs out.
New account sending restrictions
Freshly registered accounts get restricted from messaging people who aren’t in their contacts. This is Telegram’s default anti spam posture for new numbers, and it’s separate from FLOOD_WAIT. A new account can typically message people back if they’re messaged first, reply in groups they’ve joined, or message contacts, but cold outreach to strangers gets blocked or heavily throttled.
This restriction loosens over time as the account builds a normal usage history: staying registered for a while, having real conversations, joining groups organically, and not tripping any spam signals in that window. There’s no public fixed day count Telegram states for this, and the exact loosening depends on how the account behaves, not just how many days pass. An account that sits idle for a month doesn’t automatically become “trusted.” An account that has real back and forth conversations tends to open up faster than one that only sends outbound messages.
The SpamBot restriction and how it’s lifted
When Telegram’s spam detection flags an account, it usually shows up as a notice from the official @SpamBot account, and the account gets restricted from sending messages to new chats, sometimes with a “read only” limitation across the board. This is a heavier restriction than a FLOOD_WAIT and it’s triggered by pattern detection, not just speed. Sending the same message to many people, getting reported by multiple recipients, or matching known spam behavior patterns can all trigger it.
You can appeal through @SpamBot itself, which gives you a form to contest the restriction. If Telegram accepts the appeal, the limit gets lifted. If there’s no appeal or the appeal is rejected, the restriction commonly resolves on its own after some days, but the account has to avoid triggering the same flags again during that window or the clock effectively resets. This is one of the more unpredictable limits because it isn’t a fixed timer so much as a behavioral hold that Telegram lifts once its systems stop seeing the account as a risk.
Two factor and login related throttling
Separate from messaging limits, Telegram also throttles login attempts, password reset attempts, and two factor authentication checks. Too many failed login codes or password guesses in a short window triggers a temporary lock on that specific action. This isn’t a sending limit in the strict sense, but it matters for anyone managing multiple accounts or sessions, because it’s easy to mistake a login throttle for a messaging ban when you’re troubleshooting why an account “isn’t working.”
Why proxy and network setup affects how you experience limits
A detail that gets missed: FLOOD_WAIT and related throttling are tied to the account and the method being called, not directly to your IP address, in most cases. But network setup still matters in practice, for a few concrete reasons that come up constantly when running hosted or proxied Telegram sessions.
First, if you’re running multiple accounts behind the same proxy or the same exit IP, and something on that connection looks automated, Telegram’s abuse detection can factor in signals beyond just the single account’s request rate. Second, if your connection to Telegram’s servers is unstable, through a bad proxy or a route that keeps dropping, clients often retry aggressively, and retries can themselves look like the kind of rapid fire calls that trigger FLOOD_WAIT. Third, if a session gets terminated and reconnects rapidly and repeatedly, that reconnect pattern can also draw scrutiny separate from message sending itself.
This is why account safety and proxy configuration end up in the same conversation. A stable, dedicated connection per account reduces noise in the account’s behavioral profile. A shared or flaky connection adds variables that make it harder to tell whether a limit came from message volume, from connection instability, or from something else entirely. When we’re setting up hosted Telegram instances, we treat connection stability as part of account safety, not a separate networking concern, because the two produce the same symptom on the account side: sends failing or getting throttled.
What actually resets the clock
For FLOOD_WAIT, the reset is exact. Telegram tells you the wait time in the error itself, and once it passes, that specific method works again. There’s no ambiguity there.
For new account restrictions and SpamBot flags, the reset is behavioral rather than purely time based. Time has to pass, but what happens during that time matters more than the raw duration. An account that keeps attempting the same flagged behavior during a restriction window is likely to have the restriction reapplied or extended, effectively resetting the clock. An account that goes quiet, has normal conversations, and doesn’t repeat the pattern that triggered the flag tends to come out of restriction and stay out.
Login and 2FA throttles are the most mechanical of the three. They’re short, method specific, and clear on a fixed timer with no behavioral component beyond not retrying constantly, which itself can extend the lock.
The practical takeaway
If you’re getting FLOOD_WAIT errors, respect the wait time exactly as given rather than retrying early, since early retries usually extend it. If you’re dealing with a new account restriction, the fix is time plus normal usage patterns, not a workaround. If you’re dealing with a SpamBot flag, use the appeal process and, whether or not the appeal succeeds, stop whatever triggered it so the restriction doesn’t reapply. And if limits keep showing up in ways that don’t match the volume you’re actually sending, look at connection stability before assuming it’s purely a messaging issue.
None of these systems are documented with exact public numbers because Telegram adjusts thresholds and doesn’t want them gamed. What’s consistent is the structure: mechanical rate limits that clear on a timer, and behavioral restrictions that clear based on what the account does during the waiting period, not just how long it waits.
If you’re running Telegram at any real volume and want infrastructure built around keeping accounts stable rather than fighting these limits after the fact, that’s what we do. See how telegramvault.org approaches hosting and account safety
Get new guides and videos first — join the Telegram channel.