Telegram Channel Scraper - Posts, Views, Media
Pricing
Pay per event
Telegram Channel Scraper - Posts, Views, Media
Scrape posts from any public Telegram channel: full text, publish time, view counts, media flags, forwards and outbound links, plus channel title and subscriber count. No login, no bot token.
Pricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Telegram Channel Scraper
Read posts from any public Telegram channel: the full text, when it was published, how many people saw it, whether it carries photo or video, what it forwards, and every external link in it. Plus the channel's title and subscriber count.
No login. No bot token. No API registration.
What a run looks like
Pass durov and you get its posts with view counts attached:
| Post | Published | Views | Text |
|---|---|---|---|
| durov/546 | 2026-08-31 16:30 | 1,130,000 | Gram Wallet in Telegram is ready… |
| durov/545 | 2026-08-30 09:10 | 1,320,000 | A high-school student just made $20,000… |
| durov/544 | 2026-08-24 21:21 | 2,460,000 | Two years ago, I was detained in Paris… |
| durov/543 | 2026-08-18 17:37 | 3,170,000 | Telegram has applied for the .gram domain… |
Alongside every row: channel_title and subscribers, so a post's reach can be
read against the channel's size rather than in isolation.
Views come back twice, and that is deliberate
Telegram displays view counts abbreviated: 1.2K, 3.17M. Kept as text, they
sort alphabetically, which puts 1.2K below 999 and quietly ruins any "top
posts" ranking.
So each row carries both: views_text exactly as Telegram shows it, and
views as an integer you can sort, sum and average. 3.17M becomes
3,170,000.
Public channels only, and it says so when it hits one
This is the sharpest edge in the data. A private channel, a group or a username nobody uses does not return an error. Telegram serves a perfectly valid page titled "Telegram: Contact @name", with no posts in it.
Read carelessly, that is indistinguishable from a channel that exists and has
never posted. Those two facts are entirely different, and this Actor separates
them: the page is recognised and reported as not_a_public_channel, naming the
channel, while every other channel in the same run continues normally.
Text keeps its shape
Post text arrives as markup, with <br/> for line breaks and a wrapper around
every emoji. Strip the tags first and a fifteen-paragraph post becomes one
unreadable line.
Breaks are converted before tags are removed, so paragraphs survive and emoji stay where the author put them. That matters if you are feeding posts into anything that reads them, summarises them or shows them to a person.
Fields
- Identity:
channel,message_id,post,url - Content:
text,text_length,posted_at - Reach:
views,views_text,subscribers,channel_title - Attribution:
author,signature,forwarded_from,is_forwarded - Media:
has_photo,has_video,has_link_preview,is_reply - Links:
outbound_links— external links only, Telegram's own excluded, so what is left is where the channel actually sends its readers
Input reference
| Field | Type | Default |
|---|---|---|
channels | public channel names | ["durov","telegram"] |
limit | 1-5000 | 100 |
retries | 1-8 | 4 |
A t.me/durov link or @durov both work and are reduced to the name. limit
is split across the channels you give, so 100 over two channels is roughly 50
each.
Paging walks backwards through message ids: each request asks for the posts older than the lowest id seen so far. There is no page count and no total, so a run ends when a page returns nothing new.
Typical uses
- Competitive and market monitoring. Track what channels in your sector
publish and which posts actually travel.
viewsagainstsubscribersis the engagement rate. - News and signal collection. Many announcements land on Telegram first.
Schedule the Actor and join on
postto catch only what is new. - Content research.
textplusviewsshows which topics a channel's audience responds to. - Link and campaign tracking.
outbound_linksshows where a channel drives traffic, andis_forwardedwithforwarded_frommaps how a message spreads between channels. - Archiving. Posts with their timestamps and view counts as they stood, for channels that edit or delete.
Notes
Everything here is what Telegram publishes openly for sharing and previewing. Nothing private is reachable and nothing here tries to be.
views is absent on some posts, which is the channel's own setting rather than
a scrape failure, and comes back null rather than zero.
Subscriber counts are as shown at the time of the run, and Telegram rounds them: a channel of 10.9M is reported as 10,900,000, not to the person.