Every tutorial for reading Telegram channel history starts the same way: "create a bot at @botfather and get your API key." Then you discover the channel you actually want to monitor belongs to a stranger, and the bot API quietly stops being an API at all.
Here is the map of what "free" means for each route, as of today, from someone who ships a poller in production.
Route 1: Official Bot API — free, with a doorbell problem
api.telegram.org costs nothing. The catch is social, not financial:
- Your bot must be a member (usually admin) of the channel to see its messages.
- For channels you do not own, that is a cold-outreach funnel: email channel owners, ask for admin rights, get ignored 90% of the time.
-
getUpdateslong-polling is free; webhooks need a public HTTPS endpoint (free tier hosts suffice).
Free money-wise. Expensive in business development.
Route 2: MTProto (Telethon / Pyrogram) — free, with a phone problem
Full client API: history, members, media. Costs:
- An
api_id/api_hashfrom my.telegram.com — requires a phone-verified Telegram account. - New accounts get aggressive flood-wait limits. Scraping 300 channels from a fresh account is a good way to get the account limited within a day.
- Old accounts used as scrapers get banned at a nonzero rate. That is the real cost line.
Route 3: The public web preview — free, with a ceiling
https://t.me/s/<channel> renders the last ~20 messages as plain HTML. ?before=/?after= page backwards and forwards from the current tip. No key, no phone, no bot.
The honest limits:
- No deep backfill. Discovery-time messages are gone; the preview window is what it is.
- It is a UI, not a contract. The HTML can change shape; parse defensively, alert when your column count drops.
- Be polite. One request per channel per interval, back off on 429.
For monitoring — watch many channels from day zero, get every new message — it is the only route that scales to hundreds of channels without renting a phone farm.
What "free" should not mean
Paying $50/mo to a reseller for bytes that are public. People arrive there after Route 1's doorbell problem breaks their spirit, not after measuring the preview window's actual ceiling.
I run Route 3 in production. The dedup math (forward-trees make naive counting lie by 30%), the six-column schema, and the polling scheduler are written up in the Telegram OSINT Sample Brief (pay what you want, $1+). The full pipeline config ships in the Telegram & Web OSINT Bundle ($5).
What is your flood-wait war story? Comments open.
Top comments (0)