Telegram Channel Scraper - Messages & Views avatar

Telegram Channel Scraper - Messages & Views

Pricing

Pay per usage

Go to Apify Store
Telegram Channel Scraper - Messages & Views

Telegram Channel Scraper - Messages & Views

Scrape public Telegram channel messages via the t.me/s/ web preview. Get message text, view counts, timestamps, author/signature, media flags, forwards, and message URLs. Optional keyword filter. No login, API key, or proxy needed.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Categories

Share

Telegram Channel Scraper

Scrape public Telegram channel messages by username, with view counts, timestamps, media flags, and forwards. Use it for OSINT, brand and crypto monitoring, news tracking, market intelligence, research datasets, and trend discovery.

What you get

Public Telegram channels are a fast-moving source of announcements, news, and community chatter, but Telegram has no official export for non-members. This actor reads any public channel and converts its posts into clean dataset rows with message text, view count, date, author/signature, media flags, forward info, and a direct message URL, so you can schedule monitoring or export history without joining channels or wrangling raw web pages yourself.

Best fit:

  • OSINT and research teams tracking public channels.
  • Crypto, markets, and news teams watching announcement channels.
  • Brand and comms teams monitoring mentions and leaks.
  • Analysts building repeatable message datasets.
  • Builders feeding Telegram content into alerts, dashboards, or LLM pipelines.

Output fields

FieldDescription
channelChannel username scraped
message_idNumeric message id within the channel
textMessage text (line breaks preserved)
viewsView count as displayed (e.g. 12.3K)
datetimeISO-8601 publish timestamp
authorPost signature / author name when present
has_photoMessage contains a photo
has_videoMessage contains a video or round video
has_documentMessage contains a file, voice, or audio
has_pollMessage is a poll
has_stickerMessage is a sticker
is_forwardedMessage is a forward
forwarded_fromOriginal source name when forwarded
is_replyMessage is a reply
urlDirect link to the message

Input parameters

ParameterRequiredDescription
channelYesPublic channel username or t.me link (e.g. durov or https://t.me/durov).
keywordNoOnly return messages containing this text (case-insensitive).
maxMessagesNoMaximum messages to return, newest first (default 50). Start small to control cost; raise to pull deeper history.

Example inputs

Latest 50 messages from a channel

{
"channel": "durov",
"maxMessages": 50
}

Keyword filter across recent history

{
"channel": "telegram",
"keyword": "update",
"maxMessages": 200
}

Deep history pull

{
"channel": "durov",
"maxMessages": 1000
}

You can also paste a full URL such as https://t.me/durov or https://t.me/s/durov for the channel field; it is normalized to the username automatically.

Example output

{
"channel": "durov",
"message_id": 351,
"text": "Telegram now has 900 million monthly active users.",
"views": "1.2M",
"datetime": "2026-03-21T14:05:11+00:00",
"author": "",
"has_photo": true,
"has_video": false,
"has_document": false,
"has_poll": false,
"has_sticker": false,
"is_forwarded": false,
"forwarded_from": "",
"is_reply": false,
"url": "https://t.me/durov/351"
}

Use cases

  • OSINT and monitoring: Track public channels for announcements, leaks, and activity over time.
  • Crypto and markets: Watch token, exchange, and project announcement channels.
  • News tracking: Capture posts from news and aggregator channels by keyword.
  • Brand monitoring: Detect mentions of a company, product, or person across channels.
  • Research datasets: Build repeatable message datasets with timestamps and engagement signals.
  • LLM and automation pipelines: Feed channel content into summarizers, classifiers, or alerts.

What you need to run it

Only a public channel username (or its t.me link). The actor reads Telegram's public channel preview, walking backwards through history until it reaches your maxMessages cap or the start of available history. No Telegram account, login, API key, or setup is required, and only public channels with web preview enabled can be read.

Limitations

  • Only public channels with web preview enabled can be scraped. Private channels, groups, and DMs are not accessible and return an error record.
  • View counts are the display string Telegram renders (for example 12.3K), not exact integers.
  • Reactions, comment counts, and full media files are not returned; media is reported as boolean flags.
  • The web preview exposes channel history but not every historical message for very large or old channels.
  • Telegram may rate-limit aggressive pagination; the actor backs off and retries.

Compared to alternatives

Telegram channel scrapers are crowded on the Apify Store. Here is how this actor differs from the most common options:

  • vs. other Apify Telegram channel scrapers (e.g. pamnard/telegram-channels-scraper): Many existing actors bill you for variable platform usage, so a long run costs whatever the underlying compute happens to use. This actor charges a flat, predictable price per message returned, so you know your cost before you start. It is also lightweight and fast (no heavy browser session, no API token needed to drive it), and returns clean boolean media flags plus normalized ISO-8601 timestamps out of the box.
  • vs. the Telegram Bot API: The Bot API cannot read arbitrary public channel history unless the bot is an admin of that channel. This actor needs no bot and no membership.
  • vs. account-based scrapers (phone number + API credentials): Those require a logged-in Telegram session and risk account bans. This actor is login-free and read-only against the public channel preview.
  • vs. manual export: Telegram Desktop export only works for chats you have already joined. This actor works on any public channel without joining.

FAQ

Do I need a Telegram account? No. The actor only reads the public web preview that Telegram exposes for public channels.

Can I scrape private channels or groups? No. Only public channels with web preview enabled are accessible. Private channels return an error record instead of failing the run.

Are view counts exact? They are the display values Telegram shows, such as 1.2M or 12.3K.

Can I get full media files? Not directly. The actor reports media presence as boolean flags (photo, video, document, poll, sticker).

How far back can I scrape? Up to maxMessages, paginating backwards until Telegram stops returning older messages.

Support and custom builds

Need reactions, comment threads, media downloads, multi-channel batches, scheduled alerts, or dashboard-ready exports? Contact Thirdwatch at thirdwatch.dev or through the Apify actor support channel.

Last verified: 2026-06