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

Telegram Channel Scraper: Public Posts, Media, Views, Reactions

Pricing

$0.80 / 1,000 message scrapeds

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

Telegram Channel Scraper: Public Posts, Media, Views, Reactions

Monitor public channels of organisations and public figures: message text, dates, views, reactions, media and channel info. No login or API key. Author names off by default. Output must not be used to train AI models. $0.0008 per message.

Pricing

$0.80 / 1,000 message scrapeds

Rating

0.0

(0)

Developer

Paul Vasquez

Paul Vasquez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Telegram Channel Scraper: Messages, Views & Reactions

Export messages from public Telegram channels without a Telegram account, API ID or bot token. Each row has the text, date, view count, links, hashtags, mentions and media URLs, and reaction counts when you switch reactions on. About $0.80 per 1,000 messages. Author names are off by default, and Telegram's terms forbid using the output to train AI models.

The actor reads the public web preview that Telegram shows for every public channel at t.me/s/<channel>. It does not log in and does not download media files.

What data you get

One row per message, newest first within each channel.

FieldWhat it holds
channel, channelTitleThe channel username and its display title
messageId, urlThe message number and its permalink, for example https://t.me/telegram/460
dateWhen it was posted (ISO 8601, UTC)
text, textHtmlThe message text, as plain text and as the original HTML
viewsView count. Telegram shows rounded numbers, so "1.2K" becomes about 1,200
forwards, repliesCounters when the public preview shows them; usually empty (null)
reactionsA list of {emoji, count} when Include reactions is on (off by default)
mediaPhotos, videos and documents: type, URL, thumbnail URL, duration, file name, size
links, mentions, hashtagsLinks, @mentions and #hashtags found in the message
isForwarded, forwardedFrom, replyToMessageIdForward and reply details when shown
edited, isPinnedFlags shown on the message
authorThe post signature, only when Include author names is on (off by default)

Channel information (title, description, approximate subscriber count and photo URL) is saved once per channel in the run's key-value store, under the key CHANNEL-<name>, for example CHANNEL-telegram. A per-channel summary (messages collected, errors, requests) is saved under SUMMARY.

You can download the messages as JSON, CSV, Excel or other formats from the run's Storage tab or through the API.

How much does it cost?

You pay per message saved: $0.0008 per message, which is $0.80 per 1,000 messages.

MessagesPrice
100$0.08
1,000$0.80
10,000$8.00

Worked example. A run on 2026-09-30 collected 50 messages from each of 3 channels (telegram, durov, bloomberg): 150 messages, so $0.12. The prefilled example below (2 channels, 10 messages each) costs at most $0.016.

What is free:

  • Error rows, for example for a private, invalid or unavailable channel.
  • The row that says a channel had no messages after your since date.
  • The channel information and summary records in the key-value store.

Keep costs under control: set Messages per channel to what you need, and set a maximum charge per run in the run options. The actor stops saving messages when that limit is reached.

How to use it

  1. Add one or more channels under Public channels. You can type telegram, @telegram, https://t.me/telegram or https://t.me/s/telegram.
  2. Set Messages per channel. If you call the actor through the API and leave it out, the default is 200 per channel.
  3. Optional: set Since to a date such as 2026-09-01 to collect only newer messages. The date is inclusive and read as UTC.
  4. Optional: switch on includeReactions, or Include author names if you have a lawful reason to process them. Then click Start and download the results.

Input example

This is the prefilled input on the actor's page:

{
"channels": ["telegram", "durov"],
"maxMessages": 10,
"proxyConfiguration": { "useApifyProxy": true }
}

Output example

Real rows from a run on 2026-09-30 (3 channels, 50 messages each, reactions switched on). The text is cut short here.

channelmessageIddateviewsreactionstext (start)
telegram4602026-08-261,550,000none shownFor all the info from today's update and a look back at 13 years of Telegram features…
telegram4592026-08-261,360,000none shownSigned Gifts. You can now add your signature and a comment to gifts…
durov5482026-09-111,790,0004 types🤝 Telegram has become the sponsor of Codeforces…
bloomberg32252026-09-2236,1009 typesAlibaba unveils new AI chip it says is China's most powerful…

One full row from the same run. The media URLs are shortened here; in your results they are complete.

{
"channel": "bloomberg",
"channelTitle": "Bloomberg",
"messageId": 3225,
"url": "https://t.me/bloomberg/3225",
"date": "2026-09-22T03:26:17+00:00",
"text": "Alibaba unveils new AI chip it says is China's most powerful and targets 20 gigawatts of data center capacity by 2032. https://bloom.bg/4ydroys\n\n📷: Qilai Shen/Bloomberg",
"author": null,
"views": 36100,
"forwards": null,
"replies": null,
"reactions": [
{ "emoji": "🔥", "count": 91 },
{ "emoji": "❤", "count": 83 },
{ "emoji": "👍", "count": 54 }
],
"media": [
{
"type": "photo",
"url": "https://cdn5.telesco.pe/file/YgESn-qF7dE6…jpg",
"thumbUrl": "https://cdn5.telesco.pe/file/YgESn-qF7dE6…jpg",
"duration": null,
"fileName": null,
"size": null
}
],
"links": ["https://bloom.bg/4ydroys"],
"mentions": [],
"hashtags": [],
"isForwarded": false,
"forwardedFrom": null,
"replyToMessageId": null,
"edited": false,
"isPinned": false,
"source": "https://t.me/s/bloomberg"
}

(The reactions list is shortened to 3 of its 9 entries, and textHtml is left out.)

FAQ

Do I need a Telegram account, API ID or bot token? No. The actor reads the public web preview, which anyone can open in a browser.

Can it read private channels or groups? No. Only public channels that have a web preview. Private, invite-only and restricted channels return a free error row.

Why are forwards and replies often empty? Telegram's public preview usually doesn't show those counters. Empty (null) means "not shown", not zero.

Are view counts exact? No. Telegram shows rounded numbers such as "1.2K" or "9.47M", and the actor turns them into approximate whole numbers.

Why do some reactions look like custom:5399847211989246390? Custom emoji reactions have only an ID in the preview, not a character. Paid star reactions are shown as ⭐.

Can I download the media? You get the media URLs, not the files. Telegram's media links can expire, so download what you need soon after the run. Some videos and documents have no public URL.

How far back can it go? It pages back through the channel until it reaches your message limit, your since date or the oldest message the preview shows.

Author names? Off by default. Switch on Include author names to get post signatures and forwarded-from names where Telegram shows them. Names that appear inside message text are not removed.

Can I train an AI model on the output? No. Telegram's terms forbid it.

Limitations

  • The public web preview is only part of Telegram. Private or restricted channels, deleted messages, hidden details and expired media links can't be recovered.
  • Counters are rounded, so they don't suit exact engagement accounting.
  • Telegram doesn't always tell an empty channel apart from a restricted one, so the error row says it could be either.
  • Service messages (such as "channel created") and deleted messages are skipped, so gaps in message numbers are normal.
  • If you collect the same channel repeatedly, remove duplicates by channel and messageId.

Responsible use

This actor reads only the public web preview of public channels. It is meant for channels run by organisations, publishers and public figures: news monitoring, announcements, brand and market research. Names of post authors and forwarded-from people are left out unless you turn on Include author names. Don't use the output to train AI models; Telegram's terms prohibit that. You are responsible for having a lawful reason to process any personal data in the messages you collect.

Independent tool, not affiliated with or endorsed by Telegram. Data comes from Telegram's public channel web previews at t.me.