Telegram Channel Scraper — Public Posts, No Login, $1.5/1k
Pricing
from $0.50 / 1,000 message scrapeds
Telegram Channel Scraper — Public Posts, No Login, $1.5/1k
Scrape public Telegram channel posts: text, views, dates, media links. $0.0015/message, no login, no proxy. Recent-history preview pages only.
Pricing
from $0.50 / 1,000 message scrapeds
Rating
0.0
(0)
Developer
Mohammed Samaan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Telegram Channel Scraper (Public Preview, No Account Needed)
Give it public Telegram channels. It returns their recent posts: text, views, date, photo and video links, link previews, forwarded-from, reply link. It reads the public web preview that Telegram serves at t.me/s/<channel>, with plain HTTP. No Telegram account, no login, no cookies, no browser, no proxy.
Price: $1.50 per 1,000 posts ($0.0015 each) plus $0.001 per run start. You are charged only for posts actually returned. Channels that cannot be read (not found, preview disabled, fetch error) and invalid inputs come back as a row with an error field and are not charged.
Limits, stated plainly
- Public preview only. This is what Telegram shows on the web without an account. It is not the Telegram API.
- Recent history. The scraper walks backwards through the preview with
?before=<id>. How far back it goes is decided by Telegram, not by this actor; you may get fewer posts thanmaxPosts. The run log shows how many were returned per channel. - Channels can disable the preview. Those, plus channels that do not exist, look the same from outside. Both come back as one error row ("does not exist, is private, or has the web preview disabled").
- No private channels or groups. Invite links (
t.me/+...,t.me/c/...) are rejected. - No members, no subscriber lists, no comments or replies threads, no reactions. Not implemented.
- Views are as Telegram shows them (for example
1.52M).viewsNumberis that text converted to a number, so it is rounded the same way. - Video files: the preview only exposes a direct video URL for some videos. When it does not,
urlisnullandpostUrllinks to the post. - Posts with no text (media only) are returned with
text: null. - Telegram can rate-limit. The actor retries a failed page up to 3 times, then stops that channel and reports the error. Posts already returned stay in the dataset.
- Media URLs and video tokens come from Telegram's CDN and may expire. Download what you need soon after the run.
Input
| Field | What it does |
|---|---|
channels | One per line: @name, name, or a t.me link (https://t.me/s/telegram, t.me/telegram/441). Up to 100 per run. Duplicates are removed. |
maxPosts | Posts per channel, 1 to 5,000 (default 100). Newest first. |
Bad input fails the run with a clear message; a single bad entry among good ones becomes an error row.
Output
One row per post, newest first within each channel:
{"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": "1.68M","viewsNumber": 1680000,"edited": false,"forwardedFrom": null,"forwardedFromUrl": null,"replyToUrl": null,"media": [],"linkPreview": {"url": "https://telegram.org/blog/welcome-messages-buttons-TG-13","siteName": "Telegram","title": "Welcome Messages, Buttons in Messages and Signed Gifts","description": "Introducing Welcome Messages ..."},"links": ["https://telegram.org/blog/welcome-messages-buttons-TG-13"],"channelTitle": "Telegram News","error": null}
media items are { "type": "photo" | "video" | "round-video" | "audio", "url", "thumbnail" (video only), "postUrl" }. Rows for channels that failed look like { "channel": "...", "postId": null, "error": "..." }.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/leadharbor~telegram-channel-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"channels":["telegram","durov"],"maxPosts":50}'
Good to know
- Only data that Telegram shows publicly without an account is read. Check the rules that apply to you (privacy law, Telegram's terms) before processing personal data in posts.