Free key
engineering

Why a Telegram bot cannot read the channel you want

The Bot API is a permission boundary, not a missing feature. No amount of work gets you around it.

5 Sept 2026

The most common question about reading Telegram programmatically has an answer people do not want: the Bot API cannot do it.

A bot only sees chats it belongs to, and for channels it must be an administrator to receive posts. There is no method that takes an arbitrary @username and returns its messages. That is deliberate — a permission boundary, not a gap someone forgot to fill.

So if you do not control the channel, the Bot API is the wrong tool, and no amount of engineering makes it the right one.

What works instead

MTProto is the protocol the Telegram clients themselves speak. A client session resolves any public username and reads the channel exactly as a logged-out visitor would. Telethon and Pyrogram both wrap it, and for a script that reads one channel occasionally that is genuinely the right answer.

What it costs to run yourself

Three things, worth knowing before you commit.

Credentials. API id and hash come from my.telegram.org and require a phone number. The session file that results is state you must persist and protect: losing it means re-authenticating, leaking it is account compromise.

Flood control. Telegram returns a wait duration and you must actually wait it out. This is not optional and not negotiable.

Concurrency is not yours to choose. The session holds state, so parallelism is limited by the protocol rather than by your machine. We learned this the direct way: a crawl at six concurrent requests took a gateway down and every endpoint returned errors for an hour afterwards.

That last point generalises beyond Telegram. A REST façade over a stateful protocol does not inherit REST's concurrency properties, however much the URL shape suggests otherwise.

Run the same measurements yourself

Free tier, no card. Every figure above came from one endpoint on a weekly schedule.

Get a free API key
Reading

More notes