Telegram channel scraper for public channel posts and messages: text, date, views, reactions, photos, video and files, link previews, polls, hashtags, links and forwards, with channel title and subscribers on every row. Search inside a channel. No Telegram account, phone number or API key.
Reaction counts were being dropped. A reaction rendered as a plain emoji (👍, ❤, 🔥) came back with the right emoji and count: 0, so reactionsTotal was 0 on most channels. Only custom emoji and paid star reactions carried a number. Measured on one saved page per channel across 12 channels: 677 of 785 reaction chips counted zero before this fix, 0 after, with no chip losing a count it already had.
Unreadable channel names now say which of the four things went wrong, instead of one message for all of them: a channel whose web preview is empty, a bare contact page (a user or an unclaimed name), a private channel or group, or a string t.me will not accept as a username. All four answer HTTP 200.
Names that t.me can never resolve - ending in _, or with no letter in them - are rejected before the request, as a free error row.
The input form's example link pointed at t.me/s/bbcnews, which is not a channel. Replaced with a working one.
2026-10-21
When the source answers "too many requests" (HTTP 429), the Actor now waits as long as the site asks (Retry-After) before trying again, instead of retrying at once.
Maintenance: run-end alerts updated to the current shared version.
2026-10-02
Runs end as soon as your maximum cost per run is reached, with a clear status message; everything written is paid for and nothing beyond your limit is charged.
2026-09-23
Initial release: collects every post of public Telegram channels, one row per post with text, date, views, reactions, media, link previews, polls, hashtags, links and forwards, plus the channel title and subscribers; supports search inside a channel and a date cutoff, no Telegram account needed.