Telegram Channel Scraper - Messages, Views & Reactions
Pricing
$1.50 / 1,000 results
Telegram Channel Scraper - Messages, Views & Reactions
Scrape public Telegram channels without login or API keys: posts with text, date, views, reactions, media, links, hashtags, forwards and channel subscriber counts. Search inside a channel and filter by date. $1.50 per 1,000 posts.
Pricing
$1.50 / 1,000 results
Rating
0.0
(0)
Developer
Atesen Software
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Telegram Channel Scraper - Posts, Views & Reactions
Scrape public Telegram channels without a Telegram account, phone number or API key. Give it channel names like durov or links like https://t.me/telegram and get every post as JSON, CSV or Excel: text, date, views, reactions, photos, videos, links, hashtags, forwards and link previews, plus a free channel profile with the subscriber count.
- No login, no API key, no browser. Reads the public web preview at
t.me/s/<channel>. - Search inside a channel (
searchQuery) and stop at a date (onlyPostsNewerThan) so scheduled runs only pay for new posts. - Start from any post link (
https://t.me/channel/500) and go back in history. - Channel profiles and problem rows are free. No start fee beyond Apify's minimum.
- Never fails on bad input: private invite links, users, bots and typos become free
statusrows.
Use cases
- Crypto, trading and signal channel monitoring: collect every call with its date and view count.
- News and OSINT research: archive channels, track what is forwarded from where.
- Brand and competitor monitoring: search channels for your brand or product names.
- Marketing analytics: compare views, reactions and posting frequency across channels; find which posts perform.
- Lead and partner research for Telegram ad buying: subscriber counts and engagement per channel.
Input
| Field | Description |
|---|---|
channels | Usernames or links: durov, @durov, https://t.me/durov, https://t.me/durov/500 |
maxPostsPerChannel | Default 100, newest first. 0 = whole history |
onlyPostsNewerThan | Stop at this date, e.g. 2026-01-01 |
searchQuery | Only posts containing this text |
includeChannelInfo | Free profile row per channel (default on) |
maxConcurrency | Channels in parallel (default 3) |
{"channels": ["durov", "https://t.me/telegram"],"maxPostsPerChannel": 100,"onlyPostsNewerThan": "2026-01-01"}
Output
One row per post (type: "post"):
| Field | Description |
|---|---|
channel, postId, url | Channel username, message ID, link to the post |
date | Publication time (ISO, UTC) |
text | Post text with line breaks |
views | View count (e.g. 5820000) |
reactions, reactionsTotal | Each reaction (emoji or custom-emoji ID, Telegram Stars as telegram-stars) with its count |
photoUrls, videoCount | Photo links and number of videos |
hasDocument, documentTitle, hasPoll | Files and polls |
links, hashtags, linkPreview | Links in the post, hashtags, link preview card |
forwardedFrom, forwardedFromUrl, replyToUrl | Forward source and replied-to post |
author, edited | Signed author (if the channel signs posts), edited flag |
Plus one free type: "channel" row per channel: title, description, subscribers, verified, photoUrl, counters (photos, videos, links, files).
Example post:
{"type": "post","channel": "telegram","postId": 460,"url": "https://t.me/telegram/460","date": "2026-08-26T19:12:34+00:00","text": "For all the info from today's update ...","views": 1980000,"reactionsTotal": 0,"links": ["https://telegram.org/blog/welcome-messages-buttons-TG-13"]}
Status rows (free)
| status | meaning |
|---|---|
invalid_input | Not a valid username / link, or a bad date |
private_channel | Invite links (t.me/+...) point to private chats |
no_public_preview | A user, bot, group or a channel with web preview turned off |
not_found | No channel with this username |
no_posts | Nothing matched the search or date range |
failed / unreachable | Telegram did not answer; try again |
Pricing
Pay per event: $0.0015 per result ($1.50 per 1,000 saved rows). Each saved data row is one result event. Status rows, error rows and empty lookups are not charged. The run stops when it reaches the maximum cost per run. No Apify proxy and no login.
Tips
- Schedule the actor daily with
onlyPostsNewerThanset to yesterday to collect only new posts. - Media files themselves are not downloaded; you get their links (Telegram CDN links expire after some time).
- Only public channels with web preview are supported. Private groups and chats need an account and are out of scope.
This actor reads only what Telegram shows publicly on t.me. Use the data responsibly and respect Telegram's terms and local law.