---
title: "Telegram 429: Too Many Requests, Retry After"
description: "Why Telegram answers 429 Too Many Requests with \"retry after\", the limits behind it, and how to send messages to many users without tripping them."
url: "https://sillydev.co.uk/errors/telegram-429-too-many-requests"
updated: "2026-09-28"
---

Telegram · 429

# Telegram 429: Too Many Requests

Telegram limits how fast a bot may send. The number after "retry after" is how many seconds it wants you to wait. Respect it, then slow down.

[← All errors](https://sillydev.co.uk/errors)

What you are seeing

Bot API

`Too Many Requests: retry after 35`

## The limits

Telegram's own guidance is roughly one message a second in any single chat, no more than 20 messages a minute in a group, and around 30 messages a second across all chats. It does not publish exact figures and adjusts them, so treat these as the pace to stay under rather than a target.

A bot that answers people as they talk to it rarely comes near them. The bots that hit 429 are the ones that send in bulk: broadcasts, reminders to every subscriber at once, or a loop that edits a message on every tick.

## Wait, then pace

The error includes retry_after, in seconds. Sending again sooner only extends it. Both big libraries have a ready-made way to respect it automatically, and a broadcast should additionally be spread out rather than fired all at once.

grammY

```
const { autoRetry } = require('@grammyjs/auto-retry');

// Waits out retry_after and repeats the call, instead of throwing.
bot.api.config.use(autoRetry());
```

python-telegram-bot

```
# pip install "python-telegram-bot[rate-limiter]"
from telegram.ext import AIORateLimiter, ApplicationBuilder

application = ApplicationBuilder().token(token).rate_limiter(AIORateLimiter()).build()
```

FAQ

## Questions

**How long should a broadcast take?**

At about 25 messages a second, a broadcast to 3,000 users takes around two minutes. That is the right trade: a broadcast that finishes in two minutes beats one that is cut off by a 429 halfway through.

Read next

- [403 Bot was blocked The user blocked the bot or deleted their account. Expected; handle it rather than fix it.](https://sillydev.co.uk/errors/telegram-403-bot-was-blocked)
- [409 Conflict Two copies of the bot, or a leftover webhook, are fighting over one token.](https://sillydev.co.uk/errors/telegram-409-conflict)
- [Free Telegram Bot Hosting Host it free →](https://sillydev.co.uk/telegram-bot-hosting)
