Telegram Channel Scraper: Posts, Views, Reactions & Media avatar

Telegram Channel Scraper: Posts, Views, Reactions & Media

Pricing

from $1.70 / 1,000 posts

Go to Apify Store
Telegram Channel Scraper: Posts, Views, Reactions & Media

Telegram Channel Scraper: Posts, Views, Reactions & Media

Scrape posts from any public Telegram channel: text, date, views, reactions, photos, video thumbnails, links, hashtags, forwards and channel subscribers. Date range, in-channel search and keyword filters. No login or phone number. $2 per 1,000 posts.

Pricing

from $1.70 / 1,000 posts

Rating

0.0

(0)

Developer

Larkmoor Data

Larkmoor Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Turn any public Telegram channel into a clean dataset: one row per post with the full text, publish date, view count, reactions (with counts per reaction), photos, video thumbnails and duration, link previews, links, hashtags, forwarded-from, author signature, and the channel's title, description and subscriber count.

It reads Telegram's own public web preview of a channel (t.me/s/<channel>), the page Telegram shows to anyone in a normal browser. No Telegram account, no phone number, no API keys, no session files — and nothing private: closed groups, member lists and private chats are never touched.

What you can use it for

  • Brand and topic monitoring: track what news, crypto, tech or industry channels post about you, your competitors or a keyword
  • Media and research: build an archive of a channel's posts with dates and reach for a study, a dashboard or a newsroom
  • Crypto and trading signals: pull the latest posts from announcement and signal channels on a schedule
  • Influencer and channel analysis: compare views, reactions and posting rhythm across channels before buying an ad
  • Content curation: feed new posts from chosen channels into Slack, a newsletter, an RSS reader or an AI summary

Why this one

  • $2 per 1,000 posts, $0.001 per run start, no monthly rent — well under the price of the most-used Telegram scraper
  • Works reliably: plain HTTP against Telegram's public preview, polite pacing and automatic retries; clear log messages when a channel is private or has its preview turned off
  • Rich rows: views and reactions as numbers (1.2M becomes 1200000), every reaction with its count, media type, photo URLs, video thumbnails, link preview title, forwards and signatures
  • Filters that save money: a date window (postedWithinDays or dateFrom) stops paging at the first older post, Telegram's in-channel search (searchQuery), and keyword filters — filtered-out posts are free
  • Channel facts on every row: title, description, verified badge and subscriber count, ready for spreadsheets
  • 256 MB memory: fast and cheap to run

Input

FieldWhat it does
channelsChannel usernames or links: durov, @telegram, https://t.me/durov
maxPostsPerChannelNewest posts first, up to this many per channel
postedWithinDays / dateFromOnly posts in this date window
searchQueryTelegram's own search inside each channel
keywordsKeep only posts containing any of these words
skipEmptyPostsLeave out service posts with no text or media
includeHtmlAlso return the post text as HTML
delaySecondsPause between page requests (default 1 s)
maxResultsHard cap on rows for the run

Example:

{
"channels": ["telegram", "https://t.me/durov"],
"postedWithinDays": 30,
"maxPostsPerChannel": 200
}

Output

{
"channel": "durov",
"channelTitle": "Pavel Durov",
"channelSubscribers": 10300000,
"channelVerified": true,
"postId": 546,
"url": "https://t.me/durov/546",
"date": "2026-08-31T16:30:15+00:00",
"text": "Gram Wallet in Telegram is ready and ...",
"views": 4020000,
"reactions": [
{"emoji": "⭐ (paid star)", "customEmojiId": null, "count": 5980},
{"emoji": null, "customEmojiId": "5936157098181135162", "count": 13600}
],
"reactionsTotal": 80250,
"mediaType": "video",
"photos": null,
"videoThumbnails": ["https://cdn4.telesco.pe/file/..."],
"videoDuration": "1:15",
"linkPreviewUrl": null,
"links": ["https://t.me/wallet"],
"hashtags": null,
"forwardedFrom": null,
"author": "Pavel Durov",
"edited": false
}

Other columns: channelDescription, videos (direct video URLs when Telegram includes them in the preview), documentTitle, pollQuestion, linkPreviewTitle, replyToUrl and textHtml when asked for. mediaType is one of text, photo, video, link, document, poll or other.

How much does it cost?

$2.00 per 1,000 posts on the Free plan plus $0.001 per run, with automatic discounts on paid Apify plans. Platform compute is included.

Worked examples:

  • Daily monitor of 10 news channels, about 30 new posts each with postedWithinDays: 1: 300 posts, $0.60 a day
  • Full history of one channel with 2,000 posts: $4.00
  • Keyword watch ("airdrop") across 25 crypto channels for the last week: you pay only for matching posts, often under $0.10

FAQ

Is this legal? It reads only what Telegram itself publishes on the open web for public channels — the same t.me/s/ pages anyone can open without an account, which Telegram does not block with robots.txt. It does not log in, does not use the Telegram API on your behalf, and never touches private groups, member lists or personal chats. You are responsible for how you use the data (for example, respect copyright when republishing posts).

Why does a channel return nothing? Private channels, groups, bots and user accounts have no public preview, and a channel owner can turn the preview off. The log says which case it was.

Why are some reaction emoji empty? Custom (premium) emoji are images in Telegram, so they come with their customEmojiId instead of a character. Paid star reactions are marked as such.

Can I download videos? Telegram's preview often shows only a thumbnail for large videos. When it includes the direct video file, it is in videos; otherwise videoThumbnails and videoDuration are filled.

How far back can it go? As far back as the channel's public preview goes, which is usually the whole history. Use a date window to keep runs short.

Tips

  • Schedule it hourly or daily with postedWithinDays: 1 and send new rows to Slack or a Google Sheet.
  • Use searchQuery for Telegram's own search (fast, whole history) and keywords for exact word filters on the text.
  • Sort by views or reactionsTotal to find a channel's best-performing posts.

Integrations

Works with Google Sheets, Slack, Zapier, Make, Airtable, webhooks, the Apify API and the Python and JavaScript clients. Download as JSON, CSV, Excel, XML or HTML.

Changelog

  • 2026-10-21 — First release: posts, views, reactions, media, links, hashtags, forwards, channel facts, date window, in-channel search and keyword filters.