Telegram Channel & Profile Scraper
Pricing
from $2.99 / 1,000 results
Telegram Channel & Profile Scraper
Scrape Telegram public channels and profiles — channel metadata, messages, views, reactions, and media URLs. No API key or login needed.
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
a day ago
Last modified
Categories
Share
Telegram Channel & Profile Scraper is a fast, lightweight, and reliable Apify Actor designed to extract public posts, channel metadata, view counts, reaction metrics, and media attachments from Telegram public channels and profiles.
No API key, Telegram login, or bot token is required. The Actor accesses public web previews (t.me/s/) directly to provide clean, structured data in real-time.
Features
- No Authentication Required: Scrape public Telegram channels and profiles instantly without API hash, phone numbers, or account credentials.
- Rich Message Extraction: Collect post IDs, post URLs, timestamps, message text (plain text & HTML), views, and reactions.
- Media Download Links: Extract direct URLs for images, MP4 videos, audio files, documents, and external hyperlinks embedded in posts.
- Channel Metadata: Fetch channel titles, handles/usernames, subscriber/member counts, channel bio/descriptions, and profile avatars.
- Dynamic Output Formats: Choose between Flat (1 item per post) or Nested (1 item per channel with array of posts).
- Flexible Filters: Filter posts by keyword search or date ranges (
startDate/endDate). - Paging Support: Automatically loads older channel messages up to your specified
maxPostsPerChannel.
What Data Can You Extract?
| Field Name | Type | Description |
|---|---|---|
channelTitle | String | Name of the Telegram channel or profile |
channelUsername | String | Handle or username (e.g. durov) |
channelUrl | String | Link to the Telegram channel (https://t.me/durov) |
subscriberCount | String | Subscriber or member count (e.g. 11.3M) |
subscriberType | String | Label for count (e.g. subscribers, members) |
messageId | Integer / String | Numerical ID of the post |
postUrl | String | Direct web link to the specific post |
date | String | ISO 8601 publication timestamp |
text | String | Full message text content |
views | String | Total view count (e.g. 4.47M) |
reactions | Array | Array of reaction emojis and counts ([{ "emoji": "⭐ Stars", "count": "7.81K" }]) |
photos | Array | URLs of high-res image previews |
videos | Array | Direct MP4 video download URLs |
documents | Array | Document attachment titles and details |
links | Array | External web links contained in the post |
forwardedFrom | String | Channel name if post was forwarded |
scrapedAt | String | Timestamp when data was extracted |
How to Scrape Telegram Public Channels
- Input Channel URLs or Usernames: Enter full URLs (
https://t.me/s/durovorhttps://t.me/telegram) or simple handles (durov,@telegram). - Select Scrape Type: Choose whether to collect full channel info & messages (
all), messages only (messages), or metadata only (channel_info). - Set Post Limits & Filters: Define
maxPostsPerChanneland optionalstartDate/endDateorsearchKeywords. - Run the Scraper: Click Start to begin scraping.
- Export Data: Download your datasets in JSON, CSV, Excel, XML, or HTML formats.
Input Parameters
See the Input tab in Apify Console for full configuration options:
{"startUrls": [{ "url": "https://t.me/s/durov" }],"channels": ["telegram"],"scrapeType": "all","maxPostsPerChannel": 50,"includeChannelMetadata": true,"includeMedia": true,"includeReactions": true,"includeViews": true,"outputFormat": "flat"}
Key Settings:
startUrls(Array): List of Telegram channel URLs.channels(Array): List of Telegram usernames or handles (e.g.durov,@telegram).scrapeType(String): Options:all(default),messages,channel_info.maxPostsPerChannel(Integer): Max posts per channel (default50, set0for no limit).outputFormat(String): Options:flat(1 record per post) ornested(1 record per channel).
Output Examples
Flat Format
{"channelTitle": "Pavel Durov","channelUsername": "durov","channelUrl": "https://t.me/durov","subscriberCount": "11.3M","subscriberType": "subscribers","messageId": 519,"postUrl": "https://t.me/durov/519","date": "2026-05-20T15:38:10.000Z","text": "🤖 Your Telegram inbox can now run itself.Assign a bot to read and reply for you — with granular control over its rights and chat access. 🧠⚙️ Start building!","views": "8.64M","reactions": [{"emoji": "⭐ Stars","count": "2.48K"},{"emoji": "custom_5265077361648368841","count": "23.4K"},{"emoji": "custom_5465587407350942612","count": "7.75K"},{"emoji": "custom_5399847211989246390","count": "5.99K"},{"emoji": "custom_5936157098181135162","count": "417"},{"emoji": "custom_5373223594484587136","count": "107"}],"photos": [],"videos": ["https://cdn4.telesco.pe/file/e174be993b.mp4?token=ohtSSMZAhThj4sFImo9zSLjbBQL-_f4gsyzNyPEQmebkua-Fzfjvv-roC2IPuJSB5aF_LMFjiI488ZnzhnHleK6YMHpXYwKjHdzXaH7BA3Swbjitr8GHJFWhLh-AgpueKR2GYNS1QRaq_pOTThZ9-yTEPo0cj71MlV1CvU8BEBAXuctVSiXT6FpWTJupqvXzwkAQXvOt45Wviuhrjn-vq0G73Em20yaWoBIh5pa8576wk1XrSqtM83PO33MYHc3dp1lDS0x56hznQqM2t7kCGKyxc7KpDUVec1AlWq3G0HeEsDdIPCfHb6bTf-BAttdkx-lvuerEgp1HY9gcIXdb6A"],"documents": [],"links": ["https://core.telegram.org/bots/features#secretary-bots"],"scrapedAt": "2026-08-06T09:03:13.169Z"}
Disclaimer & Legal Note
Our Actors are ethical and do not extract any private user data, such as private chat messages, non-public phone numbers, or hidden personal details. They only extract what channel owners have chosen to publish publicly on Telegram web previews. You should ensure that your use of scraped data complies with applicable privacy laws (such as GDPR) and Telegram's Terms of Service.
Support & Feedback
If you encounter any issues or have feature requests, please open an issue in the Issues tab on Apify Console.