Telegram Channel Scraper - Posts, Views & Reactions
Scrape public Telegram channels without an account: posts with text, date, views, reactions, photos, videos, links, hashtags and forwards, plus channel profile (subscribers, description). Search inside a channel, stop at a date, or monitor for new posts only. No API key or phone number.
Telegram Channel Scraper - Posts, Views & Reactions
Scrape public Telegram channels without a Telegram account, API keys or a phone number. For every post you get the text, date, views, reactions, photos, video info, links, hashtags, mentions, forwards, replies and link previews. You also get a channel profile with title, description, verified badge, subscriber count and media counts.
Search inside a channel by keyword or hashtag, stop at a date, or turn on Monitor mode and schedule it to get only posts published since the last run.
Plain HTTP on Telegram's public t.me/s/ web preview. Fast and cheap.
What you can do with it
- Crypto, trading and news monitoring: follow signal and news channels and push new posts to Slack, Discord, Sheets or your app.
- Brand and threat monitoring: search channels for your brand, product or keywords.
- Market and media research: compare channels by subscribers, views per post and engagement.
- Content archiving and analytics: export a channel's full public history with views and reactions.
- AI agents and LLMs (ChatGPT, Claude, Cursor via Apify MCP): "Summarize the last 20 posts from @durov." The text is clean, with emojis and line breaks kept.
Input
| Field | Description |
|---|---|
channels |
Usernames or links: durov, @telegram, https://t.me/telegram. |
maxPostsPerChannel |
Newest first (default 20). 0 = full history. |
searchQuery |
Optional keyword or #hashtag to search within each channel. |
postedAfter |
Stop when posts are older than this date. |
includeChannelInfo |
One profile row per channel (default on). |
onlyNewPosts |
Monitor mode: only posts newer than the last run. |
Example:
{
"channels": ["telegram", "durov"],
"maxPostsPerChannel": 50,
"postedAfter": "2026-01-01"
}
Output
Post
{
"resultType": "post",
"channel": "telegram",
"postId": 460,
"url": "https://t.me/telegram/460",
"date": "2026-08-26T19:12:34+00:00",
"text": "For all the info from today's update ...",
"views": 2150000,
"reactions": [{ "emoji": "๐", "count": 54400 }, { "emoji": "โญ", "count": 6760, "type": "stars" }],
"reactionsCount": 61160,
"photos": [],
"hasVideo": true,
"videoDuration": "0:12",
"links": ["https://telegram.org/blog/..."],
"hashtags": [],
"mentions": [],
"forwardedFrom": null,
"linkPreview": { "url": "https://telegram.org/blog/...", "site": "Telegram", "title": "Welcome Messages, Buttons in Messages ..." }
}
Channel
{
"resultType": "channel",
"channel": "durov",
"title": "Pavel Durov",
"description": "Founder of Telegram.",
"verified": true,
"subscribers": 10200000,
"photos": 102,
"videos": 47,
"links": 200
}
Custom (premium) emoji reactions come back as type: "custom_emoji" with their emojiId, because Telegram's web preview doesn't show the glyph. Channels that don't exist, are private, or have the web preview turned off return one free error row.
Use it from ChatGPT, Claude & AI agents
This Actor works as a tool for AI assistants through the Apify MCP server, and the inputs are designed so an agent can fill them in.
Claude (claude.ai / Desktop), ChatGPT, Cursor, VS Code, Windsurf: add the MCP server URL below as a custom connector / MCP server and sign in with your Apify account:
https://mcp.apify.com/?tools=get_anything/telegram-channel-scraperClaude Desktop / Cursor config file:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com/?tools=get_anything/telegram-channel-scraper" } } }Any LLM framework or GPT Action (REST): one call runs the Actor and returns the results as JSON:
POST https://api.apify.com/v2/acts/get_anything~telegram-channel-scraper/run-sync-get-dataset-items?token=YOUR_TOKENNo-code: Make, Zapier, n8n, LangChain and LlamaIndex have Apify integrations.
Then just ask, for example: "Summarize the last 20 posts from the @telegram channel and list the links shared."
Pricing
Pay per event: you pay per post returned and per channel profile. Error rows are free. See the Pricing tab for current prices.
FAQ
Can it scrape private channels or groups? No. Only public channels that have a t.me/s/<name> web preview.
Do I need a Telegram account? No.
Do I need a proxy? Usually not.
Related scrapers
YouTube Scraper - Videos, Channels & Search (No API Key)
Scrape YouTube videos, channels, playlists and search without the Data API or quotas. Get title, views, likes, comments, duration, date, description, keywords, channel info and thumbnails - plus optional LLM-ready transcripts. Export JSON/CSV for research, competitor analysis and RAG.
TikTok Scraper - Profiles, Videos & Hashtags (No API Key)
Scrape TikTok profiles, videos and hashtags without an API key. Get views, likes, comments, shares, author, followers, music, hashtags, duration and timestamps. Camoufox-powered to pass bot detection. Export JSON/CSV for influencer research, trend tracking and market analysis.
Instagram Profile Scraper - Profiles & Recent Posts (No Login)
Scrape public Instagram profiles and their recent posts without login or an API key. Get followers, following, posts count, bio, verified status, plus each post's caption, likes, comments, views, type and timestamp. Camoufox-powered to pass bot detection. Export JSON/CSV.