Telegram Channel Scraper
Pricing
from $1.00 / 1,000 posts
Telegram Channel Scraper
Posts from any public Telegram channel, with views, media, links and polls, without a Telegram account or phone number. Only-new mode for schedules. Half a cent per channel, a tenth of a cent per post.
Pricing
from $1.00 / 1,000 posts
Rating
0.0
(0)
Developer
Asgard Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Telegram Channel Scraper – posts, views, media, links (no login)
Give it public Telegram channel names or links. Get the posts: text, date, view count, photos, videos, documents, link previews, polls, forwards, replies, links, mentions and hashtags, plus the channel's title, description and subscriber count. Walk back as far as you like, 20 posts per request.
Run it again with only new on and you get only posts newer than last time. Schedule it hourly or daily and you have a channel monitor. Telegram's own in-channel search is available too.
No phone number, no API key, no bot token, no login, no proxies. It reads the public web preview every public channel has.
Telegram channel data per post
- id, channel, channelTitle, subscribers, url, date, views, author, edited, isService
- text (plain) and, with
includeHtml, the original HTML - media – photos, videos, videoThumbs, documents, hasVideo, hasRoundVideo, hasVoice, hasSticker
- linkPreview – url, siteName, title, description, image
- poll – question, options with percentages, voters
- forwardedFrom, replyTo, links, mentions, hashtags
- isNew – newer than the last run's marker
The run's key-value store also gets CHANNELS (title, description, photo, subscribers, counters per channel) and SUMMARY.
Use cases
- News and market monitoring.
- Brand and crypto mentions.
- Competitor channels.
- Research datasets.
- Feeding posts into Slack or a spreadsheet.
Input
| Field | Default | Meaning |
|---|---|---|
channels | – | Usernames, @handles or t.me links. Case does not matter; the same channel written several ways counts once. Private invite links (t.me/+…, joinchat) are rejected with a clear reason. |
maxPostsPerChannel | 100 | How far back to walk. Up to 20,000. |
onlyNew | false | Only posts newer than the last run. One marker per channel in a key-value store. |
minDate | – | Stop at this date, e.g. 2026-09-01. |
query | – | Telegram's own search inside the channel. |
keywords | – | Keep only posts whose text contains any of these. |
includeHtml | false | Keep the message HTML. |
timeoutSecs | 300 | Time budget per channel. |
concurrency | 4 | Channels read in parallel. |
stateStoreName | telegram-channel-state | Where the markers live. Use a different name for a separate watchlist. |
Output example
{ "id": 3205, "channel": "bloomberg", "channelTitle": "Bloomberg", "subscribers": 172000, "url": "https://t.me/bloomberg/3205","date": "2025-12-10T08:49:12+00:00", "views": 79600, "text": "…", "author": null,"media": { "photos": ["https://cdn5.telesco.pe/file/…jpg"], "videos": [], "videoThumbs": [], "documents": [], "hasVideo": false, "hasRoundVideo": false, "hasVoice": false, "hasSticker": false, "isUnsupported": false },"linkPreview": { "url": "https://www.bloomberg.com/…", "siteName": "Bloomberg", "title": "…", "description": "…", "image": "…" },"poll": null, "forwardedFrom": null, "replyTo": null, "links": ["https://…"], "mentions": ["@bloomberg"], "hashtags": ["#markets"], "edited": false, "isService": false, "isNew": true }
How to use
- Paste your channel names or t.me links, one per line into the input form. The example input is ready to run as is.
- Click Start. Rows appear in the Output tab as they are found.
- Download the table as CSV, JSON or Excel, or read it through the API.
- For monitoring, create a Schedule and switch on
onlyNew: later runs return only what changed, and only that is charged.
Pricing
Pay per event: channel $0.005 per channel that answered, message $0.001 per post in the output. 1,000 posts from 10 channels is about $1.05. Private, deleted or preview-disabled channels are reported and free.
Good to know
- Public channels only. Groups and private channels have no web preview. Comments and reactions are not in the preview either.
- Media links point to Telegram's CDN and can expire; download promptly if you need the files.
- Stopping at your spend limit is safe: the "last seen" marker is not moved by a stopped run, so the next run picks up everything again rather than skipping posts.
- Errors are in plain words:
channel unavailable: private, deleted, or preview disabled,timeout,ENOTFOUND (domain not found).
Use from code or an AI agent
Every run can be started and read through the Apify API, the JavaScript and Python clients, or an AI agent with tool access. Open the API tab on this page for ready-made snippets. Pricing is per event, so an agent pays only for what it receives.
FAQ
Does it work on private channels or groups? No. Public channels with the web preview enabled only. Invite links are reported as unsupported and are not charged.
Are comments and reactions included? No. The web preview does not expose them. Views, media, links, polls, forwards and replies are.
How far back can it go?
As far as the channel's history and your maxPostsPerChannel, up to 20,000 posts per channel per run.
Will Telegram block it? The preview is public and needs no account, so there is nothing to ban. Bursts are rate-limited; four channels in parallel is safe.
Can I get only new posts each run?
Yes. Switch on onlyNew; the last post id per channel is remembered in your account.