Telegram Channel Intelligence
Pricing
from $0.0015 / telegram result
Telegram Channel Intelligence
Pricing
from $0.0015 / telegram result
Rating
0.0
(0)
Developer
BotFlowTech
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Telegram Channel Intelligence — Messages, Channel Info, Search & Keyword Monitor
Scrape any public Telegram channel's messages, subscriber counts, and analytics. Monitor keywords across channels, discover channels by topic, and extract message history — no API key or login required.
What It Does
This actor operates in 4 modes, making it the most versatile Telegram intelligence tool on Apify:
| Mode | Input | What You Get |
|---|---|---|
channel | Channel username(s) | Full channel profile (name, description, subscriber count, photo) + recent messages |
search | Keyword / topic | Ranked list of public channels related to that topic |
messages | Channel username(s) + filters | Bulk message history with date range, minimum views, and keyword filters |
monitor | Channel username(s) + keywords | Only messages from the last 24h that match your keywords |
All modes work with public channels only — no Telegram login, phone number, or Bot API key needed.
Use Cases
| Who | How They Use It |
|---|---|
| Crypto traders | Monitor signal channels (e.g. @cryptosignals) for buy/sell alerts in real time |
| Brand managers | Track brand mentions across Telegram communities using keyword monitor mode |
| Journalists & researchers | Extract full message history from news channels for investigative research |
| Marketers | Discover top channels in their niche to identify advertising opportunities |
| Competitive intelligence | Monitor competitor announcement channels for product launches and promotions |
| AI/ML teams | Collect large text datasets from topic-specific channels for model training |
Example Inputs
Mode: channel — Channel Profile + Messages
{"mode": "channel","channels": ["cointelegraph", "bbcnews"],"maxMessages": 100,"includeChannelInfo": true}
Mode: search — Discover Channels by Keyword
{"mode": "search","searchQuery": "crypto trading signals"}
Mode: messages — Bulk Message Scraper with Filters
{"mode": "messages","channels": ["cointelegraph", "cryptopanic", "wublockchain"],"maxMessages": 500,"startDate": "2024-06-01","endDate": "2024-06-30","minViews": 1000}
Mode: monitor — Keyword Alert Monitor
{"mode": "monitor","channels": ["cryptosignals", "whaleAlerts", "bitcoinmagazine"],"filterKeywords": ["BTC", "bullish", "buy signal", "short squeeze"]}
Example Output
Message Record
{"type": "message","messageId": "48291","channelUsername": "cointelegraph","channelName": "Cointelegraph","date": "2024-06-15T09:43:00Z","text": "Bitcoin surges past $70K as institutional demand hits record highs. Analysts expect further rally into Q3 as ETF inflows accelerate.","views": 45200,"forwards": 890,"repliesCount": 143,"hasPhoto": true,"hasVideo": false,"hasDocument": false,"photoUrl": "https://cdn5.telegram-cdn.org/file/abc123.jpg","messageUrl": "https://t.me/cointelegraph/48291"}
{"type": "monitor_match","messageId": "12055","channelUsername": "cryptosignals","channelName": "Crypto Signals VIP","date": "2024-06-15T08:17:00Z","text": "🚀 BTC signal: Strong bullish divergence on 4H chart. Entry zone $68,500–$69,000. TP1: $72K. Stop: $67,200.","views": 8910,"forwards": 234,"repliesCount": 67,"hasPhoto": false,"hasVideo": false,"hasDocument": false,"photoUrl": null,"messageUrl": "https://t.me/cryptosignals/12055","matchedKeywords": ["BTC", "bullish"]}
Channel Record
{"type": "channel","username": "cointelegraph","name": "Cointelegraph","description": "Covering the latest news and trends in blockchain, cryptocurrency, and decentralized technology.","subscriberCount": 987432,"subscriberCountText": "987 432 subscribers","profilePhotoUrl": "https://cdn5.telegram-cdn.org/file/ct_photo.jpg","joinUrl": "https://t.me/cointelegraph","isVerified": true,"scrapedAt": "2024-06-15T10:00:00.000Z"}
Output Fields Reference
Message Fields
| Field | Type | Description |
|---|---|---|
type | string | "message" or "monitor_match" |
messageId | string | Telegram message ID |
channelUsername | string | Channel username (without @) |
channelName | string | Display name of the channel |
date | string | ISO 8601 datetime of the message |
text | string | Full message text content |
views | number | null | View count (null if not public) |
forwards | number | null | Number of times forwarded |
repliesCount | number | null | Reply count |
hasPhoto | boolean | Whether message contains a photo |
hasVideo | boolean | Whether message contains a video |
hasDocument | boolean | Whether message contains a file |
photoUrl | string | null | Direct URL to photo (if available) |
messageUrl | string | Direct link to the message on Telegram |
matchedKeywords | string[] | (monitor mode only) Keywords found in text |
Channel Fields
| Field | Type | Description |
|---|---|---|
type | string | "channel" |
username | string | Channel username (without @) |
name | string | Channel display name |
description | string | null | Channel bio/description |
subscriberCount | number | null | Subscriber count as integer |
subscriberCountText | string | null | Raw subscriber count text from page |
profilePhotoUrl | string | null | URL to channel profile photo |
joinUrl | string | t.me link to join/view the channel |
isVerified | boolean | Whether the channel has a verification badge |
scrapedAt | string | ISO 8601 timestamp when data was collected |
Limitations
- Public channels only. Private groups, private channels, and password-protected channels cannot be accessed without a Telegram login. This actor uses Telegram's public web preview (
t.me/s/) which only works for public channels. - ~30 messages per page. Telegram's public preview shows approximately 30 messages per page. Pagination is used to collect more, but very high
maxMessagesvalues (1000+) will take several minutes per channel. - View counts. View counts are only displayed on Telegram for channels (broadcast channels), not groups. Group messages will have
views: null. - No real-time data. There may be a delay of a few minutes between a message being posted and it appearing in the public preview.
- Rate limits. This actor uses polite delays between requests (1–3 seconds) to avoid being rate-limited by Telegram. Very large scrapes will take proportionally longer.
- Search mode accuracy. Search uses Google/DuckDuckGo to discover t.me links for a query. Results depend on how well-indexed those channels are by search engines.
Pricing
$1.50 per 1,000 results (pay-per-result via Apify's platform charging).
Each channel profile or message counts as one result. You only pay for what you extract.
Technical Notes
- Built with Apify SDK v3 and Crawlee CheerioCrawler
- Uses
https://t.me/s/{username}(Telegram's public server-side rendered preview) — no browser/JavaScript needed - Rotating desktop User-Agent headers for reliability
- Graceful error handling: private or non-existent channels are skipped with a warning
- TypeScript, ES2022, Node.js ≥ 18 required