Bot API limits
The limits a bot runs into, each with the sentence from Telegram's documentation it comes from. Wording checked on 13 November 2026.
Sending rate
Bar length: messages per second on a log scale.
In a single chat, avoid sending more than one message per second. We may allow short bursts that go over this limit, but eventually you'll begin receiving 429 errors.Bots FAQ
In a group, bots are not be able to send more than 20 messages per minute.Bots FAQ
For bulk notifications, bots are not able to broadcast more than about 30 messages per second, unless they enable paid broadcasts to increase the limit.Bots FAQ
Enabling paid broadcasts in @BotFather allows a bot to broadcast up to 1000 messages per second. Each message broadcasted over the free amount of 30 per second incurs a cost of 0.1 Stars per message, paid with Telegram Stars from the bot's balance.Bots FAQ
Sizes and counts
Text of the message to be sent, 1-4096 characters after entities parsingsendMessage
Photo caption (may also be used when resending photos by file_id), 0-1024 characters after entities parsingsendPhoto
Use the getFile method. Please note that this will only work with files of up to 20 MB in size.Bots FAQ
Download files without a size limit. Upload files up to 2000 MB.Bot API
A JSON-serialized Array describing messages to be sent, must include 2-10 itemssendMediaGroup
Data to be sent in a callback query to the bot when the button is pressed, 1-64 bytesInlineKeyboardButton
Limits the number of updates to be retrieved. Values between 1-100 are accepted. Defaults to 100.getUpdates
The maximum allowed number of simultaneous HTTPS connections to the webhook for update delivery, 1-100. Defaults to 40.setWebhook
Incoming updates are stored on the server until the bot receives them either way, but they will not be kept longer than 24 hours.Getting updates
FAQ
How many messages per second can a Telegram bot send?
About 30 per second across all chats, one per second into a single chat and 20 per minute into one group, according to Telegram's Bots FAQ. Paid broadcasts raise the overall limit to 1000 per second.
What happens when a bot is over the limit?
The Bot API answers 429 Too Many Requests with parameters.retry_after: the number of seconds to wait before the next call. Wait that long; retrying earlier extends the block.
How do I send to many users without hitting the limit?
Queue the messages and send below 30 per second, spread over a longer period. Telegram's FAQ suggests intervals of 8–12 hours for large broadcasts.
Are these numbers guaranteed?
No. Telegram words the rate limits as “about” and allows short bursts. Treat 429 with retry_after as the real signal and these figures as the planning values.