I’ve been working with Telegram bots and found the documentation mentions specific limits for sending messages. From what I understand, bots are allowed to send up to 30 messages per second when messaging different chats, but only 1 message per second when sending to the same individual chat. For group chats, the limit is 20 messages per minute.
However, I couldn’t find clear information about rate limits for other API methods. I’m particularly interested in knowing the restrictions for the getChatMembersCount
endpoint. Does anyone know if the same rate limiting rules apply to non-messaging API calls, or are there different limits for methods like getting chat member counts and other bot API functions?
i’ve gone pretty hard on the getChatMembersCount too - like 50-60 calls a min and no 429 errors. telegram does treat admin calls diff than messaging, so no per-chat limits. just avoid spamming bulk calls or they might throttle ya.
I’ve run bots that hammer admin endpoints pretty hard - the rate limits are way more forgiving than messaging but Telegram doesn’t publish the actual numbers. I can usually push getChatMembersCount
and similar calls to 20-30 requests per second without issues, though it depends on which endpoint you’re hitting. Unlike messaging, these don’t have per-chat restrictions. Still, I’d use exponential backoff because Telegram tightens limits when their servers are slammed. Found this out when my bot got temporarily banned for spam getChatMember
calls during peak hours. Best bet is batching requests with small delays between calls, especially for user/chat lookups.
I’ve run several production bots and here’s what I’ve noticed: admin API endpoints have way more relaxed rate limits than messaging. Telegram doesn’t document the exact numbers, but I’ve seen getChatMembersCount
handle around 100-150 requests per minute before hitting restrictions. These endpoints don’t have the same per-chat limits that messaging does either. Just watch out for the resource-heavy ones - getChatAdministrators
and getChatMember
have tighter limits than simple count operations. I’d recommend setting up a request queue with 200-300ms delays between calls. Trust me, you don’t want to hit those limits - you’ll get HTTP 429 responses and your bot gets blocked for several minutes.