Telegram Posts Scraper - Channel History, Views & Media avatar

Telegram Posts Scraper - Channel History, Views & Media

Pricing

$0.30 / 1,000 per post returneds

Go to Apify Store
Telegram Posts Scraper - Channel History, Views & Media

Telegram Posts Scraper - Channel History, Views & Media

From $0.30 per 1,000 posts, no start fee. Scrape the full public history of any Telegram channel: post text, view count, publish date, photos, videos, outbound links, forwards and replies — plus channel subscribers and media counts. Date ranges, incremental runs, no login.

Pricing

$0.30 / 1,000 per post returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Share

Telegram Posts Scraper — Channel History, Views & Media

Exports the full public post history of any Telegram channel: post text, view count, publish date, photos, videos, outbound links, forwards and replies — plus the channel's own subscriber and media counts on every row.

No login. No phone number. No API key. No Telegram account of any kind.


What one row looks like

{
"postId": 443,
"channel": "telegram",
"postUrl": "https://t.me/telegram/443",
"datetime": "2026-05-14T16:08:31+00:00",
"text": "Telegram's new update brings…",
"textLength": 219,
"views": 1730000,
"isForwarded": false,
"isReply": false,
"hasLinkPreview": true,
"photoCount": 0,
"videoCount": 1,
"hasMedia": true,
"videoThumbUrls": ["https://cdn1.telesco.pe/file/…"],
"links": ["https://telegram.org/blog/…"],
"channelTitle": "Telegram News",
"subscribers": 9540000,
"videosCount": 228
}
fieldwhat it is
postIdTelegram's own sequential id — the stable key, and the cursor for incremental runs
datetimePublish time, ISO 8601 with timezone
viewsA real number. Telegram renders "9.55M"; this expands it to 9550000
text · textLengthPost text with markup stripped and emoji kept. null on a media-only post
photoCount · videoCount · hasMediaAlways present, whether or not you ask for media URLs
photoUrls · videoUrls · videoThumbUrlsCDN links, when includeMedia is on
linksOutbound URLs inside the post body
isForwarded · forwardedFrom · isReply · isEditedPost provenance
subscribers · photosCount · videosCount · linksCountChannel totals — free, read off the same page, no extra request

Input

inputdefaultwhat it does
channels["telegram"]Handles or links — telegram, @telegram, https://t.me/telegram all work
maxPosts200Cap across all channels on delivered — and charged — posts
maxPostsPerChannel0Per-channel cap, for an even sample across many channels
maxPagesPerChannel0Telegram serves 20 per page; a safety stop for very long channels
sinceDate · untilDate—ISO dates. Paging stops once a page is entirely older than sinceDate, so a narrow window is cheap
afterPostId0Fetch only posts newer than an id you already hold
onlyNewSinceLastRunfalseRemembers the highest id per channel between runs — a monitor without you tracking ids
includeMediatrueAdds media URLs. Counts are included either way
includeChannelInfotrueChannel title, description and counts on every row
includeRawHtmlSnippetfalseOriginal markup, capped at 20 KB per post

Public channels only

This reads t.me/s/<channel>, the preview Telegram serves to anyone with a browser. If a channel has no public preview — private, or preview disabled by its owner — the run says so and charges nothing for it. Groups, direct messages and member lists are not accessible this way and this Actor does not attempt them.

Why a run either completes or fails

A page that isn't HTTP 200 is treated as a transport failure, not the end of the channel. That distinction is the difference between an honest result and an expensive lie: a scraper that stops "when a page returns nothing" will end a third of the way through a long channel, report success, and bill you for a partial history.

The Actor also checks its own parsing. Telegram serves exactly 20 posts per page, and if the number of posts decoded doesn't match the number of message blocks on the page, the run fails rather than delivering a quietly short history.

Pricing

Pay per event: $0.0003 per post, and no run-start fee.

The start fee is where this category hides its cost. A 100-post run here is $0.03. The same run is about $0.045 at one competitor ($0.00035/post + $0.01 start) and about $0.05 at another ($0.00045/post + $0.005 start). Channel details ride along on every row at no extra charge.

Filters — date range, post id, per-channel caps — are applied before delivery, so posts they exclude are never charged, and a run that returns nothing costs nothing.

Every run writes a RUN_SUMMARY with, per channel: subscriber count, pages read, posts delivered, the highest post id reached, and exactly why paging stopped.

Source

t.me/s/<channel> is Telegram's own public web preview, served to any visitor. The host publishes no robots.txt at all. Posts in a public channel are published by the channel owner to be read publicly; you are responsible for what you do with them, which for outreach means the relevant marketing and data-protection rules wherever you are sending from.