Telegram Channel & Group Scraper
Pricing
Pay per usage
Telegram Channel & Group Scraper
Scrape public Telegram channels and groups. Extract messages, media links, view counts, forwarded info, and member counts. No API key or login required — works with public channels only via t.me web preview.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
oscar lira
Actor stats
0
Bookmarked
4
Total users
0
Monthly active users
12 hours ago
Last modified
Categories
Share
Scrapes public Telegram channels and groups for messages, media links, view counts, and channel metadata. No API key or login needed — uses the t.me web preview.
What data does it extract?
| Field | Description |
|---|---|
| channel | Channel username (e.g. durov) |
| channelTitle | Display name of the channel |
| channelMembers | Number of subscribers/members |
| channelDescription | Channel bio/description text |
| messageId | Numeric message ID |
| date | ISO 8601 timestamp of the message |
| text | Full message text |
| views | View count on the message |
| mediaType | Type of attached media: photo, video, document, or voice |
| mediaUrl | Direct URL to the media file |
| forwardedFrom | Original channel name if the message was forwarded |
| author | Author name (relevant for group chats) |
| replyTo | First 100 chars of the message being replied to |
| url | Direct link to the message (e.g. https://t.me/durov/123) |
| scrapedAt | ISO 8601 timestamp when the data was collected |
Use cases
- Competitor monitoring — Track what competing brands or industry channels post about weekly
- Crypto/finance research — Collect posts from trading signal channels to analyze accuracy over time
- Media monitoring — Pull messages from news channels in specific regions or languages
- Academic research — Gather public discourse data from political or social channels
- Influencer analytics — Measure view counts and posting frequency across multiple channels
How to use
Scrape the last 50 messages from two channels:
{"channels": ["durov", "https://t.me/s/telegram"],"maxMessages": 50,"includeMedia": true}
Get messages from a specific date range:
{"channels": ["bbcnews"],"maxMessages": 200,"dateFrom": "2025-01-01","dateTo": "2025-01-31"}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| channels | array | [] | List of channel URLs or usernames. Accepts https://t.me/channel, @channel, or just channel |
| maxMessages | integer | 100 | Max messages to scrape per channel. Set 0 for all available |
| includeMedia | boolean | true | Extract URLs for photos, videos, documents, and voice messages |
| dateFrom | string | — | Only get messages after this date (YYYY-MM-DD) |
| dateTo | string | — | Only get messages before this date (YYYY-MM-DD) |
Output example
{"channel": "durov","channelTitle": "Durov's Channel","channelMembers": 1245000,"channelDescription": "Official channel of Pavel Durov","messageId": 312,"date": "2025-03-15T14:22:00+00:00","text": "We just crossed 950 million monthly active users. The next milestone is coming soon.","views": 4820000,"mediaType": "photo","mediaUrl": "https://cdn4.telegram-cdn.org/file/abc123.jpg","forwardedFrom": null,"author": null,"replyTo": null,"url": "https://t.me/durov/312","scrapedAt": "2025-03-28T10:15:33.421Z"}
Performance & cost
- Scrapes about 100 messages per channel in under 30 seconds
- Uses pure HTTP requests (Cheerio), no browser needed — very low compute cost
- Billed per 100 messages scraped (one charge event per batch)
FAQ
Does this work with private channels?
No. It only scrapes channels that have a public web preview at t.me/s/channelname. Private or restricted channels won't return data.
Can I scrape group chats?
Yes, as long as the group has a public preview enabled. The author field will show who posted each message.
Why are some messages missing media URLs?
Telegram's web preview doesn't always expose direct media links, especially for videos. The mediaType will still indicate what type of media was attached.
Is there a limit on how far back I can go? The scraper paginates backwards through the channel's history, but Telegram's web preview typically caps at around 1,000-2,000 older messages depending on the channel.