Telegram Channel Scraper — posts, views, media (no login) avatar

Telegram Channel Scraper — posts, views, media (no login)

Pricing

$0.30 / 1,000 telegram posts

Go to Apify Store
Telegram Channel Scraper — posts, views, media (no login)

Telegram Channel Scraper — posts, views, media (no login)

Pricing

$0.30 / 1,000 telegram posts

Rating

0.0

(0)

Developer

Arthur

Arthur

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Telegram Channel Scraper — public posts, views, media (no login)

Scrape any public Telegram channel into a clean dataset: post text, date, views, author signature, forwarded-from, reply-to, links, hashtags, photos, videos, documents, polls, link previews and reactions — plus the channel's title, description and subscriber count. It reads Telegram's public web preview (t.me/s/<channel>), so it needs no login, no phone number, no API key, no proxies and no browser. Runs are fast and cheap.

Typical uses: news and crypto-signal monitoring, brand/keyword alerts, competitor and influencer tracking, archiving channels, research datasets, feeding posts into LLM pipelines, Make/Zapier/Sheets automations.

What you get

One row per post (type: "post"):

fielddescription
channel, post_id, urlChannel handle, numeric message ID, https://t.me/<channel>/<id>
dateISO 8601 UTC timestamp
textPlain text (formatting, emoji and line breaks preserved); text_html optional
viewsView counter as a number (e.g. 23M → 23000000)
authorPost signature, when the channel signs posts
is_forwarded, forwarded_from, forwarded_from_urlForward source
reply_to_url, reply_to_textQuoted/replied message
links, hashtagsAll hyperlinks in the post; hashtags
media_typetext, photo, album, video, document, poll, sticker, voice, round_video, link
photos, videos, video_thumbs, video_durationDirect media URLs (CDN links, may expire after a while)
document_name, document_sizeAttached file
poll_question, poll_optionsPoll with option percentages
link_preview{url, site_name, title, description, image}
reactions, reactions_total[{emoji, count}] (custom-emoji reactions have emoji: null; Stars shown as ⭐)
commentsComment count when the channel has a discussion group and the preview shows it

With Include channel info (default on) you get one type: "channel" row per channel: title, username, description, subscribers, photos, videos, links, files, verified, photo_url, url.

Channels that cannot be read (private, non-existent, users, bots, groups) produce a type: "error" row — free — and the run continues with the next channel.

Export as JSON, CSV or Excel, or push rows to Google Sheets, Make, Zapier, webhooks or your code via the Apify API.

Input

fielddefaultmeaning
channelsHandles or links: durov, @telegram, https://t.me/bloomberg
maxPostsPerChannel100Newest first; stop after this many stored posts
sinceOnly posts on/after YYYY-MM-DD (paging stops at older posts)
keywordsKeep only posts containing one of these words/phrases (case-insensitive)
maxPagesPerChannel50Safety cap (~20 posts per page) for how far back to scan
includeChannelInfotrueAdd one channel-info row per channel
includeHtmlfalseAdd text_html with the formatted post HTML

Example — last week's posts mentioning Bitcoin from three channels:

{
"channels": ["durov", "telegram", "https://t.me/bloomberg"],
"keywords": ["bitcoin", "BTC"],
"since": "2026-08-20",
"maxPostsPerChannel": 200
}

Schedule the actor (e.g. hourly) and deduplicate on channel + post_id to build a continuous monitor.

Pricing

Pay per event: $0.0003 per stored row ($0.30 per 1,000 posts). Each post row and each channel-info row counts as one event. Only rows actually written to the dataset are charged; error rows and filtered-out posts are free. Apify platform usage (a few seconds of compute per run) is billed separately by Apify.

Limitations — please read

  • Works only for channels with a public web preview (public channels). Private channels, groups, bots and user profiles are not accessible without login — they return an error row.
  • Telegram's preview does not expose the forward count or comment threads; comments is only filled when the preview shows a count.
  • Media URLs point to Telegram's CDN and can expire; download them soon after the run if you need the files.
  • Very old history: each page is ~20 posts, so 10,000 posts = 500 requests (about 5 minutes at the polite rate this actor uses).
  • Reactions with custom emoji have no text representation in the preview (emoji: null, count still included).

Not affiliated with Telegram. Uses only publicly accessible pages.