Telegram Channel Scraper — Posts, Views & Engagement
Pricing
from $2.99 / 1,000 results
Telegram Channel Scraper — Posts, Views & Engagement
Extract posts, view counts, subscriber numbers, and engagement metrics from public Telegram channels. Pure HTTP via t.me/s/ public preview — no API key, no login. Track competitors, monitor channels, and analyze reach for growth and market research. Clean JSON.
Pricing
from $2.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeAI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Share
Extract posts, view counts, subscriber numbers, and engagement metrics from public Telegram channels with high speed. Pure HTTP via t.me/s/ public preview — no API key, no session token, no login required.
What does Telegram Channel Scraper do?
Telegram Channel Scraper extracts posts, views, channel metrics, and media content from public Telegram channels via public web preview.
It serves as a fast, reliable, and lightweight alternative to Telegram API credentials for competitor analysis, channel monitoring, trend detection, content aggregation, and market research.
- Extract Posts & Metrics: Scrape post IDs, text content, publication timestamps, view counts, and calculated engagement rates (% of subscribers viewing posts).
- Channel Overview: Extract total subscriber counts, channel title, description/bio, profile photo, and official verification status.
- Media & Attachments: Detect photos, videos, documents, and external link previews, along with direct media asset URLs.
- Dynamic Dataset Outputs: Export clean JSON, CSV, Excel, HTML, or XML datasets dynamically based on your
INPUT.jsonconfiguration.
Why use Telegram Channel Scraper?
- Zero Credentials Needed: Operates completely via public web preview (
t.me/s/) without requiringAPI_ID,API_HASH, or phone logins. - Blazing Fast Speed: Built on Cheerio HTTP parsing without browser automation overhead — scrape hundreds of channel posts in seconds.
- Automatic Pagination: Automatically paginates backwards through channel history to fetch up to your specified
maxPostslimit. - Engagement Rate Analysis: Automatically calculates post reach and engagement rates (
(views / subscribers) * 100) for data-driven channel benchmarking. - Apify Integration: Run on schedules, trigger via Webhooks, or consume via Apify REST API.
What data can Telegram Channel Scraper extract?
Post Output Fields
| Field Name | Type | Description |
|---|---|---|
itemType | String | Data type identifier ("post") |
channelUsername | String | Telegram channel handle (e.g. durov) |
channelTitle | String | Channel display title |
postId | Integer | Unique numeric post ID |
postUrl | String | Direct web URL to the post (e.g. https://t.me/durov/215) |
publishedAt | String | ISO 8601 publication timestamp |
text | String | Clean plain text message content |
html | String | Formatted HTML content of the post |
views | Integer | Numeric view count |
viewsFormatted | String | Formatted view count string (e.g. 15.2K, 1.2M) |
subscriberCount | Integer | Total subscriber count of the channel |
subscriberCountText | String | Formatted subscriber text |
engagementRate | Float | Calculated view-to-subscriber percentage (views / subscribers * 100) |
hasPhoto | Boolean | true if post contains images |
hasVideo | Boolean | true if post contains video files |
hasDocument | Boolean | true if post contains downloadable documents |
hasLinkPreview | Boolean | true if post includes a web link preview card |
mediaUrls | Array | Direct URLs to attached photo/video assets |
isVerified | Boolean | true if channel has Telegram's verified badge |
telegramUrl | String | Public web URL for channel (https://t.me/durov) |
scrapedAt | String | ISO 8601 timestamp when data was extracted |
Channel Summary Fields (itemType: "channel_summary")
| Field Name | Type | Description |
|---|---|---|
channelUsername | String | Telegram handle |
channelTitle | String | Display title |
description | String | Channel bio / description |
subscriberCount | Integer | Numeric subscriber count |
subscriberCountText | String | Formatted subscriber count |
isVerified | Boolean | Verification status |
photoUrl | String | Channel profile photo URL |
telegramUrl | String | Channel URL |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
channels | Array | ["durov", "telegram"] | List of channel handles or URLs |
channelList | String | "" | Alternative newline-separated channel list |
maxPosts | Integer | 50 | Max posts per channel to extract |
outputType | String | "all" | Output dataset mode ("posts", "channel_summary", "all") |
includeChannelInfo | Boolean | true | Embed channel title & subscriber count in each post |
proxyConfiguration | Object | {} | Apify proxy configuration |
maxConcurrency | Integer | 10 | Maximum parallel requests |
debugLog | Boolean | false | Enable verbose debug logging |
Example INPUT.json
{"channels": ["durov","https://t.me/techcrunch"],"maxPosts": 50,"outputType": "all","includeChannelInfo": true,"debugLog": false}
Output Example
[{"itemType": "channel_summary","channelUsername": "durov","inputUrl": "durov","channelTitle": "Durov's Channel","description": "Thoughts from Pavel Durov, founder of Telegram.","subscriberCount": 11340520,"subscriberCountText": "11 340 520 subscribers","isVerified": true,"photoUrl": "https://cdn4.cdn-telegram.org/file/...","telegramUrl": "https://t.me/durov","scrapedAt": "2026-08-06T14:50:00.000Z"},{"itemType": "post","channelUsername": "durov","channelTitle": "Durov's Channel","subscriberCount": 11340520,"subscriberCountText": "11 340 520 subscribers","postId": 215,"postUrl": "https://t.me/durov/215","publishedAt": "2026-08-01T15:30:00+00:00","text": "Telegram has surpassed 950 million active users this month.","views": 2400000,"viewsFormatted": "2.4M","engagementRate": 21.16,"hasPhoto": true,"hasVideo": false,"hasDocument": false,"hasLinkPreview": false,"mediaUrls": ["https://cdn4.cdn-telegram.org/file/..."],"isVerified": true,"telegramUrl": "https://t.me/durov","scrapedAt": "2026-08-06T14:50:01.000Z"}]
How to use Telegram Channel Scraper
- Enter Channels: Add usernames or URLs in the
channelslist (e.g."durov","@telegram"). - Set Post Limit: Choose how many recent posts to fetch per channel using
maxPosts. - Select Output Mode: Set
outputTypeto"posts","channel_summary", or"all". - Run Scraper: Click Start on Apify Console or run locally with
apify run. - Export Data: Download in JSON, CSV, or Excel format.
FAQ & Legal Disclaimer
Disclaimer: This Actor extracts data publicly available via Telegram web preview (
t.me/s/). It does not bypass private channel access control or extract private user data. Users are responsible for ensuring compliance with applicable data protection regulations (such as GDPR) and terms of service.