Telegram Channel Scraper β No Login, Fast & Cheap
Pricing
$1.00 / 1,000 messages
Telegram Channel Scraper β No Login, Fast & Cheap
Scrape messages from any public Telegram channel without login, phone number or bot token. Get text, date, views, reactions, media, polls, forwards, replies and link previews. Filter by date or keyword, or monitor channels for new posts only.
Pricing
$1.00 / 1,000 messages
Rating
0.0
(0)
Developer
Steady Scrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
What does Telegram Channel Scraper do?
Telegram Channel Scraper extracts messages from any public Telegram channel β no Telegram account, no phone number, no bot token and no API keys. Paste channel names or t.me links and get a clean dataset with each post's text, date, views, reactions, photos, videos, documents, polls, forwards, replies, hashtags, links and link previews.
It reads the channel's official public web preview (t.me/s/<channel>), the same page anyone can open in a browser. That makes it fast, cheap and reliable: no headless browser, no login that can get banned.
Why use it?
- π° News & OSINT monitoring β follow war, politics and breaking-news channels and archive what was posted and when.
- πΉ Crypto & trading research β collect announcements and signals from exchange and project channels with exact timestamps.
- π Marketing & competitor analysis β compare views and reactions across channels and posts.
- π€ AI & data pipelines β feed channel content into LLMs, RAG systems, sentiment analysis or dashboards.
- ποΈ Archiving β back up the full history of a channel before posts get deleted.
Features
- β No login required β works with public channels only, nothing to configure.
- β Full history β pages back through the whole channel, newest messages first.
- β Date range filter β only messages between two dates, and paging stops as soon as older messages start.
- β Keyword & hashtag search β uses Telegram's in-channel search.
- β Monitoring mode β "Only new messages since the last run" remembers where you left off, so scheduled runs never charge twice for the same message.
- β Rich, structured output β reactions (including premium custom emoji), media URLs, polls with percentages, forwarded-from, reply-to, author signatures, link previews.
- β Many channels per run β a channel that is private or doesn't exist is reported and skipped; the rest keep going.
- β Respects your budget β stops exactly when your maximum cost per run is reached.
How to scrape a Telegram channel
- Click Try for free.
- Add one or more channels:
durov,@durov,t.me/durovorhttps://t.me/s/durovall work. - Optionally set the maximum number of messages, a date range or a keyword.
- Click Start and download your data as JSON, CSV, Excel or HTML, or get it through the Apify API.
To monitor channels, turn on Only new messages since the last run and add a schedule (for example every hour).
Input example
{"channels": ["telegram", "https://t.me/durov"],"maxMessagesPerChannel": 500,"dateFrom": "2026-01-01","dateTo": "2026-06-30","searchQuery": "#update","onlyNewMessages": false}
Output example
Each message is one item in the dataset:
{"channel": "durov_russia","channelTitle": "ΠΠ°Π²Π΅Π» ΠΡΡΠΎΠ²","channelSubscribers": 986000,"messageId": 63,"url": "https://t.me/durov_russia/63","date": "2025-11-22T17:22:48.000Z","isEdited": false,"text": "β¦","textHtml": "β¦","author": null,"views": 3250000,"forwardedFrom": { "name": "Khabib Nurmagomedov", "url": "https://t.me/khabib_nurmagomedov/127" },"replyTo": null,"hashtags": [],"mentions": [],"links": [],"media": [{ "type": "video", "url": "https://cdn4.telesco.pe/file/β¦.mp4", "thumbnailUrl": "https://cdn4.telesco.pe/file/β¦", "duration": "0:56" }],"linkPreview": null,"reactions": [{ "emoji": null, "customEmojiId": "5305565863728918192", "count": 32800 },{ "emoji": "π«‘", "customEmojiId": null, "count": 9740 }],"scrapedAt": "2026-09-16T13:38:43.478Z"}
Output fields
| Field | Description |
|---|---|
channel, channelTitle, channelSubscribers | Channel username, display name and subscriber count |
messageId, url | Message number and its public link |
date | Publication time, ISO 8601 in UTC |
isEdited | Whether the post was edited |
text, textHtml | Message text (line breaks preserved) and the original formatted HTML |
author | Author signature, for channels that sign posts |
views | View count as shown by Telegram (e.g. "46.8K" becomes 46800) |
reactions | Emoji and counts; premium custom emoji come with their customEmojiId |
media | Photos, videos (file URL, thumbnail, duration), documents and polls |
forwardedFrom, replyTo | Original source of forwarded posts and the message a post replies to |
hashtags, mentions, links, linkPreview | Everything linked from the post |
How much does it cost?
You pay only for the messages you get β see the pricing tab for the current price per message. Channels that are unavailable cost nothing, and the Actor stops as soon as it reaches the maximum cost you set for the run.
Limitations
- Only public channels that have a web preview at
t.me/s/<channel>. Private channels, groups, bots and user accounts are not accessible without logging in, and this Actor never logs in. - Comments under posts are not included (they are not part of the public preview).
- View and reaction counts are as precise as Telegram shows them publicly ("46.8K").
- Some large videos only have a thumbnail on the public page, so
urlisnullfor them.
Is it legal to scrape Telegram?
This Actor only reads information that channel owners publish openly on the web, without logging in. Still, scraped data can include personal data protected by GDPR and similar laws. Make sure you have a legitimate reason to collect it, and consult a lawyer if unsure. Read more in Apify's blog post on the legality of web scraping.
Feedback
Found a channel that doesn't work or need another field? Open an issue in the Issues tab β they are answered quickly.