Telegram Channel Scraper — Public Posts & Channel Info
Pricing
from $0.50 / 1,000 posts
Telegram Channel Scraper — Public Posts & Channel Info
Scrape public Telegram channel posts and info — text, links, views, media, dates — with no login, phone number, or API keys. Clean JSON, pay per post. Reliable public-channel data for monitoring, research and AI.
Pricing
from $0.50 / 1,000 posts
Rating
0.0
(0)
Developer
Andreas Lund Helstrøm
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract posts from public Telegram channels — fast, reliable, and with no login, no phone number, no API keys, and no bot setup. This scraper reads Telegram's own public web preview, so you get clean structured JSON straight into spreadsheets, dashboards, databases, or AI pipelines.
What you get
Per post:
- Message text (line breaks preserved) and all outbound links
- Post ID, direct
t.meURL, and timestamp (ISO 8601) - View count
- Photos and video URLs, round-video / document flags
- Link-preview card (title, description, site, URL)
- Forwarded-from and reply indicators, author signature
Per channel (channel-info):
- Title, @username, description
- Subscriber count, and photo/video/link totals
- Channel avatar
Why this scraper
- No credentials, ever — no Telegram account, phone number, API ID, or bot token. It reads only what Telegram publishes openly at
t.me/s/<channel>. - Reliable — talks to a stable public endpoint, not a fragile logged-in session, so runs succeed and don't get you rate-limited into oblivion.
- Clean output — flat, consistent fields ready for analysis, with numbers already parsed (
1.35M→1350000). - Pay per item — charged only for posts/channels actually returned, capped by your settings.
- AI-agent ready — callable by agents and LLM workflows via Apify's MCP integration.
Quick start
Scrape recent posts from a few channels:
{"operation": "channel-posts","channels": ["telegram", "@durov", "https://t.me/blog"],"maxItemsPerChannel": 200}
Monitor channels for a keyword:
{"operation": "channel-posts","channels": ["durov", "telegram"],"keyword": "update","maxItemsPerChannel": 100}
Just get channel stats:
{"operation": "channel-info","channels": ["telegram", "durov"]}
Example output (post)
{"id": 435,"channel": "telegram","url": "https://t.me/telegram/435","date": "2026-04-09T07:01:44+00:00","text": "AI Text Editor. The message bar now has a built-in editor…","outLinks": [],"views": 1350000,"author": null,"isForwarded": false,"photos": [],"videos": ["https://cdn…/video.mp4"],"linkPreview": null}
Use cases
- Brand & topic monitoring — track mentions across public channels with the keyword filter.
- Crypto / news / OSINT — collect timestamped public-channel posts for research and alerting.
- Content analytics — study posting cadence, view counts, and formats in your niche.
- Datasets for AI — feed clean public broadcast text into LLM and research pipelines.
Scope, fair use & privacy
This actor accesses only public channels — the same content anyone can view (and search engines can index) at t.me/s/<channel>, which channel owners have chosen to broadcast publicly. It cannot access private channels, group chats, direct messages, or user accounts, by design — which also keeps it on the right side of Telegram's terms and data-protection rules. It paces requests politely and retries gently on rate limits. Please use the output lawfully and respect the rights of channel owners.
Troubleshooting
- "Channel not found" — the channel is private, deleted, or the name is misspelled. Only public channels with a
t.me/s/preview work; try openinghttps://t.me/s/<channel>in a browser to confirm. - Fewer posts than expected — the channel simply has fewer public posts, or your
maxItemsPerChannelcap was reached. - Missing a field — not every post has views/media/links; the scraper returns what's present and leaves the rest null.
Missing a feature or hit a bug? Open an issue on the actor page — it gets a fast response.