Telegram Channel Scraper
Pricing
from $0.35 / 1,000 post scrapeds
Telegram Channel Scraper
Scrape posts, views, reactions, media and channel stats from public Telegram channels. No login, no API key, no phone number.
Pricing
from $0.35 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Solar G
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Scrapes posts and channel details from public Telegram channels using the public web preview at t.me/s/<channel>. No Telegram account, API key or phone number is needed.
Input
| Field | Description |
|---|---|
channels | Channel usernames or links. durov, @durov and https://t.me/durov are all accepted. |
maxPostsPerChannel | Maximum posts per channel, newest first. Default 100. |
postedAfter | Optional. Stop at posts older than this date (YYYY-MM-DD). |
searchQuery | Optional. Keyword or #hashtag, matched using Telegram's in-channel search. |
includeChannelInfo | Output one channel record per channel. Default true. |
proxyConfiguration | Optional. Not normally needed. |
{"channels": ["durov", "https://t.me/telegram"],"maxPostsPerChannel": 200,"postedAfter": "2026-01-01"}
Output
Each dataset item has a type of post, channel or error.
Post
{"type": "post","channel": "durov","id": 552,"url": "https://t.me/durov/552","date": "2026-10-11T14:52:40+00:00","edited": false,"author": "Pavel Durov","text": "Designers × AI ...","textHtml": "...","views": 1340000,"reactions": [{ "emoji": "⭐", "customEmojiId": null, "paid": true, "count": 6070 }],"photos": [],"videos": [{ "url": null, "thumbnailUrl": "https://cdn4.telesco.pe/...", "duration": "1:15" }],"documents": [],"links": ["https://t.me/designers"],"hashtags": [],"forwardedFrom": null,"replyTo": null,"linkPreview": null}
Channel
{"type": "channel","channel": "durov","url": "https://t.me/durov","title": "Pavel Durov","description": "Founder of Telegram.","verified": true,"subscribers": 10300000,"photos": 102,"videos": 47,"files": null,"links": 200,"avatarUrl": "https://cdn4.telesco.pe/..."}
Counts such as "1.2M" are converted to integers. The dataset includes Posts and Channels table views, and can be exported as JSON, CSV, Excel or HTML.
API usage
Run the Actor and get results in one request:
curl -X POST "https://api.apify.com/v2/acts/solarg~telegram-channel-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"channels": ["durov"], "maxPostsPerChannel": 100}'
With the JavaScript client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('solarg/telegram-channel-scraper').call({"channels": ["durov"], "maxPostsPerChannel": 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();
With Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("solarg/telegram-channel-scraper").call(run_input={"channels": ["durov"], "maxPostsPerChannel": 100})items = client.dataset(run["defaultDatasetId"]).list_items().items
You can also schedule runs in Apify Console and send results to Google Sheets, Slack, webhooks, Zapier, Make or n8n through Apify's integrations.
Pricing
- $0.50 per 1,000 posts
- $0.001 per channel record
Platform usage is included in the price.
Limitations
- Only public channels with a web preview are supported. Private channels, groups and bots return an
erroritem. - Post comments are not available in the web preview.
- Some videos only expose a thumbnail. In that case
urlisnull. - Custom emoji reactions are returned as
customEmojiId, not as a character.
Notes
The data is publicly visible without logging in, but posts may contain personal data. You're responsible for using it in line with applicable law, such as GDPR.
Report problems in the Issues tab.