Telegram Channel Scraper - No API Key Needed
Pricing
from $500.00 / 1,000 1,000 messages extracteds
Telegram Channel Scraper - No API Key Needed
Scrape public Telegram channels without API keys or proxies. Extract messages, views, reactions, media URLs, and channel metadata. Perfect for crypto research, brand monitoring, OSINT, and competitive intelligence.
Pricing
from $500.00 / 1,000 1,000 messages extracteds
Rating
0.0
(0)
Developer
Sami
Maintained by CommunityActor stats
1
Bookmarked
29
Total users
2
Monthly active users
15 days ago
Last modified
Categories
Share
Telegram Channel & Group Scraper
Extract messages, reactions, media metadata, and member data from any public Telegram channel or group. No login required for basic scraping. The most reliable Telegram scraper on Apify — zero crashes, zero empty results.
What is Telegram Channel & Group Scraper?
This Apify Actor scrapes public Telegram channels and groups, extracting messages with full metadata including view counts, reactions (emoji + counts), media URLs, forwarded message info, hashtags, mentions, and channel statistics.
It supports two scraping modes:
- Web Preview (default): Zero-friction, no credentials needed. Uses Telegram's public
t.me/s/endpoint. - Telethon API: Full access with your Telegram API credentials — complete message history (10,000+), member lists, and more.
Telegram API alternative — no login required
Looking for a Telegram scraper that works without API credentials? This Actor's default mode (Web Preview) requires zero setup — no API key, no phone number, no login. Just paste channel URLs and get structured data.
For power users who need full message history (10,000+) and member lists, the Telethon API mode provides complete access with your own Telegram API credentials.
Why This Actor vs. Others?
| Feature | This Actor | tri_angle (1.4 stars) | pamnard (1.3 stars) | agentx (5.0 stars) |
|---|---|---|---|---|
| No login needed | Yes | No | No | No |
| Reactions data | Yes | No | No | Yes |
| Media metadata | Yes | Partial | No | Yes |
| Error handling | Never crashes | Frequent crashes | Empty results | Good |
| Messages limit | 10,000+ | ~100 | ~100 | 500 |
| Member extraction | Yes (optional) | No | No | No |
| Date filtering | Yes | No | No | No |
| Multi-channel | Yes | Limited | Limited | Yes |
Quick Start
Step 1: Paste channel URLs
{"channels": ["https://t.me/durov","t.me/techcrunch","coindesk"]}
Step 2: Click Run
The actor accepts full URLs, short URLs, or just the channel username. All formats work.
Step 3: Download Results
Export to JSON, CSV, Excel, or connect via API. Each message is an individual row for easy analysis.
Use Cases
- OSINT & Intelligence: Monitor public channels for threat intelligence, track disinformation, and analyze information operations.
- Marketing & Competitive Analysis: Analyze competitor community engagement, content strategy, and audience reactions.
- Crypto & Web3 Research: Track token launches, monitor signal channels, and measure community sentiment across crypto groups.
- Compliance & Archival: Archive channel history for regulatory requirements, legal discovery, or organizational record-keeping.
- Academic Research: Collect data for studies on online communities, information spread, and public discourse patterns.
- Lead Generation: Extract member data from public groups (Telethon mode, GDPR-compliant use only).
Two Scraping Modes
Mode 1: Web Preview (Default — No Login)
Uses Telegram's public web preview at t.me/s/. Perfect for quick data collection without any setup.
- No credentials needed — works out of the box
- Public channels only — channels must have web preview enabled
- Latest ~500 messages — limited by Telegram's web preview endpoint
- Extracts: text, HTML, views, reactions, media URLs, forwards, replies, links, hashtags, mentions
Mode 2: Telethon API (Full Access)
Uses Telegram's official API via the Telethon library. Unlocks complete channel data.
- Requires API credentials — api_id + api_hash from my.telegram.org
- Full message history — up to 10,000+ messages per channel
- Member extraction — optional, requires appropriate permissions
- Bot token support — use a Bot Token from @BotFather as an alternative
How to Get API Credentials
- Go to my.telegram.org
- Log in with your phone number
- Create a new application (or use an existing one)
- Copy the API ID (number) and API Hash (string)
How to Generate a Session String
Run this Python script locally (one time only):
from telethon.sync import TelegramClientfrom telethon.sessions import StringSessionapi_id = 12345 # Your API IDapi_hash = "abc123" # Your API Hashwith TelegramClient(StringSession(), api_id, api_hash) as client:print("Your session string:")print(client.session.save())
This will prompt you for your phone number and a verification code. Copy the output string and paste it into the actor's sessionString input field.
Using a Bot Token Instead
If you only need to read public channel messages (no member lists), you can use a Bot Token:
- Message @BotFather on Telegram
- Create a new bot with
/newbot - Copy the token and paste it into the
botTokeninput field - Add your bot to the channel as an admin (or the channel must be public)
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
channels | array | Yes | — | Telegram channel URLs or usernames |
mode | string | No | web_preview | web_preview or telethon_api |
maxMessagesPerChannel | integer | No | 100 | Max messages per channel (up to 10,000) |
extractMedia | boolean | No | true | Include media metadata in output |
extractReactions | boolean | No | true | Include reaction counts |
extractMemberData | boolean | No | false | Extract member list (Telethon only) |
dateFrom | string | No | — | Only messages after this date (ISO format) |
dateTo | string | No | — | Only messages before this date (ISO format) |
apiId | integer | No | — | Telegram API ID (Telethon only) |
apiHash | string | No | — | Telegram API Hash (Telethon only, secret) |
sessionString | string | No | — | Pre-generated session string (Telethon only, secret) |
botToken | string | No | — | Bot Token from @BotFather (Telethon only, secret) |
Input Example
Web Preview Mode (No Login)
{"channels": ["https://t.me/durov","coindesk"],"mode": "web_preview","maxMessagesPerChannel": 200,"extractMedia": true,"extractReactions": true,"dateFrom": "2026-01-01"}
Telethon API Mode (Full Access)
{"channels": ["https://t.me/durov"],"mode": "telethon_api","maxMessagesPerChannel": 5000,"apiId": 12345,"apiHash": "your_api_hash_here","sessionString": "your_session_string_here","extractMemberData": false}
Output Example
Each message is stored as an individual item in the dataset:
{"id": 350,"date": "2026-04-05T18:30:00+00:00","text": "Today we're launching a new feature...","text_html": "Today we're launching a <b>new feature</b>...","views": 2100000,"views_display": "2.1M","author": null,"forwarded_from_name": null,"forwarded_from_url": null,"reply_to_message_id": null,"media_type": "photo","media_url": "https://cdn4.telesco.pe/file/...","reactions": [{ "emoji": "\ud83d\udc4d", "count": 42000 },{ "emoji": "\u2764\ufe0f", "count": 15000 }],"reactions_total": 57000,"links": ["https://telegram.org/blog/new-feature"],"hashtags": ["#telegram"],"mentions": null,"message_url": "https://t.me/durov/350","channel_name": "Durov's Channel","channel_username": "durov","channel_url": "https://t.me/durov","channel_subscribers": 10300000,"channel_verified": true,"scrape_mode": "web_preview","scraped_at": "2026-04-12T15:00:00+00:00"}
Pricing
This actor uses Pay Per Event pricing.
| Event | Price |
|---|---|
| Actor run started | $0.01 |
| Channel scraped (web preview) | $0.02 per channel |
| Channel scraped (Telethon API) | $0.05 per channel |
| 1,000 messages extracted | $0.50 |
| 1,000 members extracted | $1.00 |
Cost Examples
| Scenario | Cost |
|---|---|
| 5 channels, 100 messages each (web preview) | ~$0.61 |
| 1 channel, 5,000 messages (Telethon) | ~$2.56 |
| 10 channels, 200 messages each (web preview) | ~$1.21 |
| 1 channel, 1,000 messages + members (Telethon) | ~$1.56 |
Platform compute costs are billed separately by Apify at standard rates. This actor runs on minimal resources (256MB RAM).
How to Scrape Telegram Channels
Scraping Telegram channels for data analysis, research, or monitoring is straightforward with this actor:
- Find the channel: Navigate to the Telegram channel in your browser or app. The URL format is
t.me/channelname. - Configure the actor: Paste the channel URL(s) into the input. Choose your scraping mode and set the message limit.
- Run the actor: Click "Start" on Apify. The actor handles pagination, rate limiting, and error recovery automatically.
- Export your data: Download results as JSON, CSV, or Excel. Or connect via API for automated pipelines.
The actor automatically handles:
- Rate limiting with exponential backoff
- Pagination to collect all available messages
- Private/non-existent channel detection
- Multiple input formats (URLs, usernames, with/without @)
Integration Examples
Python SDK
from apify_client import ApifyClientclient = ApifyClient("your_api_token")run = client.actor("zhorex/telegram-channel-scraper").call(run_input={"channels": ["https://t.me/durov"],"maxMessagesPerChannel": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['date']}: {item['text'][:80]}")
cURL
curl "https://api.apify.com/v2/acts/zhorex~telegram-channel-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"channels": ["durov"], "maxMessagesPerChannel": 50}'
Webhook / n8n Integration
Set up an Apify webhook to trigger when the actor finishes, then process results in n8n, Zapier, or any automation tool.
FAQ
Does this require a Telegram API key?
No (for web preview mode). The default mode uses Telegram's public web preview at t.me/s/ which requires no authentication. For Telethon mode, you need API credentials from my.telegram.org.
Can I scrape private channels?
Only with Telethon mode if you are a member of the channel. Web preview mode only works with public channels that have web preview enabled.
What about rate limits?
The actor handles rate limits automatically. Web preview mode uses a 2-second delay between requests. Telethon mode handles Telegram's FloodWaitError with automatic sleep and retry. You should never see rate limit errors in your results.
Is this GDPR compliant?
The actor extracts publicly available data. When extracting member data (Telethon mode), ensure you have a legitimate legal basis under GDPR or applicable data protection laws. Member data extraction is disabled by default.
What formats can I export?
Apify supports JSON, CSV, Excel (XLSX), and XML. You can also access data via the Apify API, integrate with Google Sheets, or connect to 2,000+ apps via webhooks.
Why do I need a phone number for Telethon mode?
Telegram's API requires phone-based authentication. You generate a session string once locally, then use it in the actor. The actor never stores or transmits your phone number.
What's the maximum number of messages?
Web preview mode can extract up to ~500 messages per channel (Telegram's endpoint limitation). Telethon mode can extract the full message history — up to 10,000 per run (configurable).
Is there a free Telegram scraper?
Yes. This Actor works with Apify's free plan which includes $5 of monthly usage. The web preview mode is the most cost-effective way to scrape Telegram channels — $0.02 per channel plus $0.50 per 1,000 messages.
How much does it cost to scrape Telegram channels?
Web preview mode: ~$0.12 per channel (100 messages). Telethon mode: ~$0.56 per channel (1,000 messages). Start with Apify's free tier — $5 included monthly.
Can I use this Telegram scraper in Python?
Yes. Use the Apify Python client (pip install apify-client) to call this Actor programmatically. See the Python SDK example above.
Is scraping Telegram legal?
This Actor accesses publicly available data through Telegram's public web preview (t.me/s/) and official Telegram API. No authentication is bypassed and no private data is accessed without authorization. Always consult legal counsel for your specific use case.
What is the best Telegram scraper in 2026?
This Actor is the most reliable Telegram scraper on Apify — zero crashes, zero empty results, and two scraping modes (web preview + Telethon API). It supports reactions, media metadata, date filtering, and multi-channel scraping.
Other scrapers by Zhorex
Chinese Social Intelligence Suite:
- RedNote Xiaohongshu Scraper — China's #1 lifestyle platform (300M+ users)
- Weibo Scraper — China's Twitter (580M+ users)
- Bilibili Scraper — China's YouTube (300M+ users)
B2B Review Intelligence:
- G2 Reviews Scraper — B2B software reviews via public API (no proxy)
- Capterra Reviews Scraper — Software reviews with sub-ratings
- Booking.com Reviews Scraper — Hotel reviews and ratings
Streaming Analytics:
- Twitch Scraper — Streamer profiles, live streams, clips
- Kick.com Scraper — Kick streamer analytics
Other Tools:
- Perplexity AI Search Scraper — AI search results and brand monitoring
- Domain Authority Checker — Bulk SEO domain analysis
- Phone Number Validator — Phone validation
Legal Disclaimer
This actor accesses publicly available data through Telegram's public web preview (t.me/s/) and official Telegram API. No authentication is bypassed and no private data is accessed without authorization.
When extracting member data, ensure you have a legitimate legal basis under GDPR or applicable data protection laws. Member data extraction is disabled by default and must be explicitly enabled.
Users are responsible for ensuring their use of extracted data complies with applicable laws and Telegram's Terms of Service.
Your Review Matters
Most Telegram scrapers on Apify have 1-2 star ratings due to crashes and empty results. This one is built to be different — zero crashes, zero empty results.
If this Actor worked for you, a 30-second review helps others find a reliable alternative:
- Go to the Telegram Channel Scraper page
- Scroll down and click the star rating
- Optionally leave a one-line comment about your use case
Why it matters: Early reviews have the biggest impact on Store rankings. Your review directly helps other researchers, analysts, and developers find a scraper that actually works.
Found a bug instead? Open an issue and I'll fix it within 24 hours.