Telegram Channel Scraper
Pricing
from $1.00 / 1,000 post scrapeds
Go to Apify Store
Telegram Channel Scraper
Scrape posts from any public Telegram channel - message text, dates, view counts, media and forwards - exported as clean JSON, no login required.
Pricing
from $1.00 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Andrew
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Extract every post from any public Telegram channel - message text, dates, view counts, media, forwards, and link previews. No login, no account, no API credentials required.
What you get
For every post in the channel, one clean dataset row with:
- Message text as plain text, plus the canonical post URL (
https://t.me/channel/123) - Publish date in ISO 8601 format and the view count as a real number (e.g.
1230000, not "1.23M") - Media flags and URLs -
hasPhoto,hasVideo, and directmediaUrlsfor photo images and video thumbnails - Forward detection - the name of the original channel when a post is forwarded
- Link preview URL and whether the post is a reply
- Scrape multiple channels in one run - each row is tagged with its channel
- Paginated output: each run writes a resume cursor so you can fetch a channel's entire history across multiple runs
- Export to JSON, CSV, Excel, or Google Sheets directly from the Apify console
Use cases
- OSINT and investigations - archive and monitor public channels, track narratives, and preserve posts with timestamps and view counts
- Crypto and trading alpha - monitor announcement and signal channels and pipe new posts into your own alerting or backtesting stack
- Brand monitoring - track mentions, leaks, and sentiment in public communities around your product or industry
- Research and journalism - build datasets of channel activity over time for trend, propaganda, or misinformation analysis
- Competitor watching - follow competitors' announcement channels and measure engagement via view counts
How to use
- Enter one or more Channels - usernames (with or without @) or full t.me links
- Set Max Items (default 100 across all channels; set 0 to fetch the full history)
- Run the actor - posts appear in the Dataset tab, newest first, one post per row
- To keep going where the run stopped: open the Key-value store tab, copy the
NEXT_PAGE_IDvalue, and paste it into Page ID on your next run. IfNEXT_PAGE_IDisnull, you've fetched everything.
Note: a small number of channels disable their web preview - those are skipped with a warning in the log.
Output format
Each dataset record:
{"channel": "telegram","messageId": 449,"url": "https://t.me/telegram/449","text": "For all the features from this update, like links in poll options...","date": "2026-06-18T14:36:10+00:00","views": 1230000,"hasPhoto": false,"hasVideo": false,"mediaUrls": [],"forwardedFrom": "","linkPreviewUrl": "https://telegram.org/blog/watch-apps-and-more","isReply": false}