Telegram Channel Scraper - Posts, Views, Reactions, No Login
Pricing
from $0.50 / 1,000 posts
Telegram Channel Scraper - Posts, Views, Reactions, No Login
Scrape posts of public Telegram channels without login or API keys: text, date, views, reactions, media links, forwards, replies and polls. Incremental mode returns only posts published since the last run. Pay only per post.
Pricing
from $0.50 / 1,000 posts
Rating
0.0
(0)
Developer
Maksym Kotenko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Export posts from any public Telegram channel: text, publication date, views, reactions, photos, videos, files, forwards, replies and polls. No Telegram account, phone number or API key. Schedule it with incremental mode and every run returns only the posts published since the previous one.
What it does
- Every post of a public channel read from its official web preview at
t.me/s/<channel>, newest first, as far back as you need. - Rich fields: full text with line breaks, date, edited flag, author signature, view count, each reaction with its count (emoji, custom emoji and paid stars), forwarded-from source, the post it replies to, link previews, polls with options and percentages, hashtags, mentions and links.
- Media links: photos, videos with thumbnail and duration, voice notes, round videos, stickers, file names and sizes.
- Channel details on every row: title and subscriber count, plus a run summary per channel.
- Incremental mode for monitoring: the last returned post is remembered per channel, the next run reads forward from it and returns only newer posts, oldest first. A run cut short by Max posts per channel or your spending limit is continued exactly where it stopped: no gaps, no duplicates. Clean feeds into Google Sheets, Slack, a database or an AI pipeline.
- Date window: posts from a date, until a date, or both. An old window is reached with a binary search over post ids instead of paging through years of newer posts.
- Many channels per run, read in parallel, duplicates and invalid entries reported as rows.
- Honest billing: channels that do not exist, are private or fail to load are listed with an error code and not charged. The run stops at your maximum cost per run.
Use cases
- Monitor news, crypto, job or deal channels and get each new post once.
- Media and brand monitoring: track mentions, links and reactions over time.
- Research datasets: full channel history with dates and engagement for analysis or AI training.
- Competitor and market analysis: posting frequency, views per post, which formats get reactions.
- Archive a channel to JSON, CSV, Excel or a database.
How to use
- Add channels to Channels: a username like
durov,@durov, or a link likehttps://t.me/durov. - Set Max posts per channel, and optionally Posts published from and until.
- Press Start. Posts appear in the Output tab; export them as JSON, CSV, Excel or via the API.
For monitoring, turn on Only posts that are new since the last run and create a schedule. The first run returns the newest posts by your limits, newest first; each next run only the new ones, oldest first, so you can append them in order.
Input example
{"channels": ["telegram", "https://t.me/durov"],"maxPostsPerChannel": 200,"dateFrom": "30 days","incremental": true}
Output example
One dataset row per post:
{"channel": "telegram","channelTitle": "Telegram News","channelSubscribers": 9300000,"postId": 441,"url": "https://t.me/telegram/441","date": "2026-05-14T16:08:31.000Z","edited": false,"author": null,"text": "Bot-to-Bot Communication. Bots are now able to respond to other bots, not just users.\n\nAI enthusiasts can utilize this to create custom workflows with autonomous agents.","views": 1580000,"reactionsCount": 0,"reactions": [],"forwardedFrom": null,"replyTo": null,"mediaType": "video","mediaCount": 1,"media": [{"type": "video","url": "https://cdn4.telesco.pe/file/<file>.mp4?token=<token>","thumbnailUrl": "https://cdn4.telesco.pe/file/<file>.jpg","durationSeconds": 6,"title": null,"size": null,"postUrl": "https://t.me/telegram/441"}],"linkPreview": null,"poll": null,"links": ["https://t.me/telegram/440", "https://t.me/telegram/442"],"hashtags": [],"mentions": [],"isServiceMessage": false,"unsupportedContent": false,"scrapedAt": "2026-10-18T13:00:00.000Z","error": null,"errorMessage": null}
Reactions look like { "type": "emoji", "emoji": "👍", "customEmojiId": null, "count": 862 }; type is custom_emoji for premium emoji and paid for Telegram Stars, which are not added to reactionsCount. A channel that could not be read keeps the same columns with an error code: INVALID_CHANNEL, NO_PUBLIC_PREVIEW (not found, private, or the owner disabled the web preview), FETCH_FAILED or STORAGE_FAILED.
The key-value store record SUMMARY lists per channel: title, subscribers, reading direction, posts returned, pages read, why paging stopped and the incremental position before and after the run.
Pricing
Pay per event: one Post event per returned post. Error rows, skipped service messages and pages read only to find your date window are free. Current prices are on the Pricing tab. Set a maximum cost per run in the run options and the Actor stops there.
Good to know
- Counters are rounded by Telegram:
1.58Mviews become1580000. - Media links come from Telegram's CDN and expire after some time; download files you want to keep.
- Videos larger than the web preview allows have a thumbnail and duration but no file link. Posts with content the web preview cannot show, such as stories or giveaways, are flagged with
unsupportedContent: true. - Incremental positions live in the named key-value store
telegram-channel-scraper-statein your account and are saved after every stored batch, so even an aborted or timed-out run does not return the same posts twice. Use Incremental state name to keep separate positions for different schedules; delete a record there to start a channel over. - Telegram rate-limits very large runs from one IP; if you see
FETCH_FAILED, enable Proxy.
Integrations
Use the Apify API, scheduler, webhooks and integrations (Zapier, Make, n8n, Google Sheets, Slack and others) to send new posts where you need them.
Limits and fair use
The Actor reads only public channels through Telegram's own public web preview and does not log in. It does not collect members, phone numbers or private messages. You are responsible for using the data in line with Telegram's terms and the laws that apply to you.
Support
Missing a field or found a post that is parsed wrong? Open an issue on the Issues tab with the channel and post link. Fixes ship quickly.