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

Telegram Channel Scraper: Posts, Views, Reactions & Media

Pricing

from $0.40 / 1,000 posts

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

Telegram Channel Scraper: Posts, Views, Reactions & Media

Scrape any public Telegram channel without login or API keys: posts with full text, date, views, reactions, photos, videos, links, link previews and forwards, plus channel stats. Search inside channels, filter by date, monitor for new posts.

Pricing

from $0.40 / 1,000 posts

Rating

0.0

(0)

Developer

Ishema Hugues

Ishema Hugues

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Telegram Channel Scraper: posts, views, reactions and media

Scrape any public Telegram channel without logging in, without a Telegram account and without API keys. Each post comes with:

  • full text (line breaks kept);
  • date, view count, reactions and paid stars;
  • photos, videos (file and thumbnail) and documents;
  • links, link previews, forwards, replies, polls, hashtags and mentions.

Every run also records channel stats: title, description, subscriber count, photo, video and link counts, and the verified badge.

Why this one:

  • $0.50 per 1,000 posts. No start fee, no monthly rent.
  • Newest posts first, paging back as far as you want (maxMessagesPerChannel).
  • Search inside a channel with Telegram's own search (searchQuery).
  • Date filters: the Actor stops paging as soon as it passes dateFrom, so you don't pay for old posts.
  • Monitoring mode (onlyNewMessages): schedule it and each run returns only posts published since the last run.
  • Clean numbers: 18.9M views becomes 18900000.

Use cases

  • Crypto, trading and news monitoring: follow signal, announcement and news channels and push new posts to Slack, Sheets or your own pipeline.
  • Brand and competitor tracking: see what competitors post and which posts get the most views and reactions.
  • Research and OSINT: archive public channels with dates, views and forwards for analysis.
  • Content and growth analysis: compare engagement (views, reactions) across channels and over time.
  • AI and LLM pipelines: feed clean post text plus metadata into RAG, summarization or sentiment models.

Ready-made tasks (one click to run)

Start from a saved setup and change the inputs to your own:

Input

FieldWhat it does
channelsUsernames (durov), @username or links (https://t.me/durov).
maxMessagesPerChannelNumber of newest posts to save per channel (default 100).
searchQueryOptional. Only posts matching this text.
dateFrom / dateToOnly posts in this date range (YYYY-MM-DD).
onlyNewMessagesMonitoring: only posts newer than the newest one seen in previous runs.
{
"channels": ["durov", "https://t.me/telegram"],
"maxMessagesPerChannel": 500,
"dateFrom": "2026-01-01"
}

Output

One row per post (a real result from a test run on 2026-10-02):

{
"channel": "telegram",
"messageId": 460,
"url": "https://t.me/telegram/460",
"date": "2026-08-26T19:12:34+00:00",
"text": "For all the info from today's update and a look back at 13 years of Telegram features — check out our blog:\nhttps://telegram.org/blog/welcome-messages-buttons-TG-13\n\nAugust Features\n1 • 2 • 3 • 4 • 5 • More",
"views": 1600000,
"author": null,
"isEdited": false,
"forwardedFrom": null,
"replyTo": null,
"hashtags": [],
"mentions": [],
"links": ["https://telegram.org/blog/welcome-messages-buttons-TG-13", "https://t.me/telegram/455"],
"reactions": [],
"paidStars": null,
"photos": [],
"videos": [],
"documents": [],
"linkPreview": {
"url": "https://telegram.org/blog/welcome-messages-buttons-TG-13",
"siteName": "Telegram",
"title": "Welcome Messages, Buttons in Messages and Signed Gifts",
"description": "Introducing Welcome Messages to greet new members of groups or channels, Buttons in Messages to make any text interactive, Inline Documents in Messages and much more.",
"imageUrl": "https://cdn4.telesco.pe/file/..."
},
"poll": null,
"channelTitle": "Telegram News",
"channelSubscribers": 9420000,
"scrapedAt": "2026-10-02T11:49:42.410Z"
}

Reactions look like { "emoji": "👍", "count": 1200 }. For a Telegram custom emoji, the emoji field is empty and customEmojiId is set instead. Video rows include the .mp4 URL and a thumbnail.

The SUMMARY record holds channel stats for each channel: title, username, description, photo, verified, subscribers, photos, videos, links and files.

Pricing (pay per event)

EventPrice
Post saved (message)$0.0005 ($0.50 per 1,000)
Channel stats (channel-info)$0.001 per channel per run

Failed or private channels are never charged. Set a maximum cost per run and the Actor stops cleanly.

Notes and limits

  • Public channels only. That means channels that have a public t.me/s/<name> web preview. Private channels, groups, bots and user accounts have no public preview and are reported in FAILED.
  • Some posts carry media that Telegram's web preview doesn't show, such as certain stickers or polls in some clients. Those posts still come with their text, date and views, and hasUnsupportedMedia is set to true.
  • Media URLs come from Telegram's CDN and expire after some time. Download them during the run if you need to keep them.
  • View counts are rounded by Telegram (for example 1.6M).

FAQ

Do I need a Telegram account or API key? No. The Actor reads the public web preview Telegram shows to everyone.

How far back can it go? As far back as the channel's history goes. It pages 20 posts at a time. Use dateFrom to stop early.

How do I get only new posts every hour?

  1. Turn on onlyNewMessages.
  2. Save the input as a task.
  3. Schedule it.

Connect the dataset to Slack, Google Sheets, a webhook or Zapier with Apify integrations.

More from the same developer