Telegram Channel Scraper
Pricing
Pay per usage
Telegram Channel Scraper
Scrape Telegram public channels without API key, phone, or login. Extract messages, views, media, forwards, replies, and channel metadata. Supports date filtering, pagination, multiple channels per run. Ideal for OSINT, crypto monitoring, news aggregation, and brand tracking.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

George Kioko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Telegram Channel Scraper - Scrape Telegram Public Channels Without API Key or Phone Number
Scrape Telegram public channels and groups without any API key, phone number, or login. This telegram scraper extracts messages, media, view counts, and channel metadata at scale using Telegram's public web preview. No credentials, no setup — just provide a channel name and start extracting telegram data instantly.
Whether you need telegram OSINT research, telegram monitoring for brand tracking, or simply want to export telegram messages for analysis, this telegram channel scraper handles it all with zero configuration.
Try it on Apify | API Documentation
How the Telegram Scraper Works
flowchart TDA["Input: Channel URLs / Usernames"] --> B{"Validate & Normalize\nChannel Names"}B --> C["Navigate to t.me/s/channel\n(Public Web Preview)"]C --> D["Extract Channel Metadata\n(name, subscribers, avatar)"]D --> E["Parse Visible Messages\n(text, media, views, links)"]E --> F{"More Messages\nNeeded?"}F -- "Yes" --> G["Paginate via ?before=ID\n(Load Older Messages)"]G --> EF -- "No (maxMessages reached\nor history exhausted)" --> H{"Date Filter\nApplied?"}H -- "Yes" --> I["Filter by dateFrom / dateTo"]H -- "No" --> J["Output Structured JSON\nto Apify Dataset"]I --> Jstyle A fill:#0088cc,color:#fffstyle J fill:#28a745,color:#fff
Data Flow Architecture
flowchart LRsubgraph INPUT["Input Configuration"]CH["Channel Names\ndurov, @telegram\nt.me/bitcoin"]OPT["Options\nmaxMessages, dateFrom\ndateTo, includeMedia"]endsubgraph SCRAPER["Telegram Message Extractor"]VAL["Channel\nValidator"]FETCH["HTTP Fetcher\n(Puppeteer)"]PARSE["HTML Parser\n& Extractor"]PAG["Pagination\nController"]endsubgraph OUTPUT["Output Data"]META["Channel Metadata\nname, subscribers\navatar, verified"]MSG["Message Data\ntext, datetime, views\nmedia, links, replies"]DS["Apify Dataset\nJSON / CSV / Excel"]endCH --> VALOPT --> VALVAL --> FETCHFETCH --> PARSEPARSE --> PAGPAG -->|"?before=ID"| FETCHPARSE --> METAPARSE --> MSGMETA --> DSMSG --> DSstyle INPUT fill:#0088cc,color:#fffstyle SCRAPER fill:#f0f0f0,color:#333style OUTPUT fill:#28a745,color:#fff
Features
- No API key required — scrape telegram channels without registering a Telegram app or providing credentials
- No phone number needed — unlike official Telegram API scrapers, this tool needs zero authentication
- Scrape any public telegram channel — works with channels, groups, and supergroups that have web preview enabled
- Full message extraction — text (plain + HTML), dates, view counts, media, links, forwards, and replies
- Telegram OSINT ready — monitor public channels for intelligence research, threat tracking, and investigations
- Telegram monitoring — schedule recurring runs to track channels over time for brand monitoring or news aggregation
- Export telegram messages — output as JSON, CSV, or Excel via Apify dataset exports
- Date range filtering — scrape only messages within a specific time window
- Smart pagination — automatically loads older messages until your limit is reached
- Telegram crawler at scale — scrape multiple channels in a single run with configurable message limits
- Media extraction — photos, videos, documents, stickers, and link previews
- Proxy support — use Apify Proxy or custom proxies for reliable telegram data extraction
Why This Telegram Scraper?
Most tools that scrape Telegram require you to register an app with Telegram, provide a phone number, and manage API credentials. This telegram channel scraper uses Telegram's public web preview (t.me/s/channelname), which is freely accessible for any public channel. Zero setup, zero credentials, zero risk to your Telegram account.
What It Extracts
Channel Information
- Channel name and description
- Subscriber count
- Avatar / profile image URL
- Verification status
Per Message
- Full message text (plain text + HTML)
- Date and time (ISO format)
- View count (raw + parsed number)
- Media attachments (photos, videos, documents, stickers)
- Link previews with titles and descriptions
- Forwarded-from information (source channel + URL)
- Reply context (who replied to whom)
- All links mentioned in the message
- Author name (for group chats with multiple posters)
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
channels | Array of strings | required | Channel usernames or URLs. Accepts: durov, @durov, https://t.me/durov |
maxMessages | Integer | 100 | Maximum messages to scrape per channel (1-10,000) |
includeMedia | Boolean | true | Include media URLs (photos, videos, documents) |
dateFrom | String | - | Only messages from this date (ISO: YYYY-MM-DD) |
dateTo | String | - | Only messages up to this date (ISO: YYYY-MM-DD) |
proxyConfiguration | Object | - | Proxy settings (Apify Proxy recommended) |
Channel Input Formats
All of these work when you scrape telegram channels:
durov(bare username)@durov(with @ prefix)https://t.me/durov(full URL)https://t.me/s/durov(preview URL)
Example Input
{"channels": ["durov", "telegram", "https://t.me/bitcoin"],"maxMessages": 50,"includeMedia": true,"dateFrom": "2025-01-01","dateTo": "2025-12-31"}
Example Output
Each message scraped from a telegram public channel produces a structured JSON object:
{"channel": "durov","channelName": "Pavel Durov","channelDescription": "Founder of Telegram.","subscriberCount": "10.4M","channelAvatarUrl": "https://cdn4.telesco.pe/file/...","isVerified": true,"messageId": 456,"messageUrl": "https://t.me/durov/456","text": "We've just released Telegram 11.0 with major new features...","textHtml": "<b>We've just released</b> Telegram 11.0...","datetime": "2025-03-01T14:30:00+00:00","viewCount": "5.3M","viewCountParsed": 5300000,"author": null,"forwardedFrom": null,"forwardedFromUrl": null,"replyTo": null,"links": ["https://telegram.org/blog/telegram-11"],"media": [{"type": "photo","url": "https://cdn4.telesco.pe/file/..."}],"scrapedAt": "2025-03-12T10:00:00.000Z"}
Use Cases
Telegram OSINT & Intelligence Research
Monitor public Telegram channels used by organizations, governments, or communities. Track announcements, policy changes, and public communications. This telegram scraper is widely used for open-source intelligence gathering from public channels.
Crypto & Finance Monitoring
Track cryptocurrency project channels, trading groups, and DeFi announcements. Monitor token launches, partnership news, and community sentiment across telegram public channels.
News Aggregation
Aggregate content from news channels across languages and regions. Build custom news feeds from primary sources by scraping telegram channels on a schedule.
Content Analysis & NLP
Export telegram messages for sentiment analysis, topic modeling, keyword tracking, or language research. The structured output integrates directly with data pipelines.
Competitive Intelligence
Monitor competitor announcements, product launches, and community engagement metrics via their public telegram channels.
Brand Monitoring & Telegram Monitoring
Track mentions and discussions in industry channels. Monitor view counts and engagement over time with scheduled telegram data extraction runs.
Academic Research
Collect public channel data for social media research, communication studies, or information flow analysis. Export telegram messages in structured formats for reproducible research.
Limitations
- Public channels only: Private channels and groups cannot be scraped (no login is used)
- Web preview content: Some media types may show thumbnails instead of full-resolution files
- Rate limiting: The actor includes delays between requests to avoid being blocked
- Channel must have web preview enabled: Most public channels do, but some may not
Pricing
This telegram scraper uses Pay Per Event pricing:
- $0.003 per message scraped
- Example: Scraping 1,000 messages = $3.00
- Channel metadata is included free with every run
Tips for Best Results
- Use Apify Proxy for reliability, especially when scraping multiple telegram channels
- Set date ranges to avoid scraping years of history when you only need recent messages
- Start small with
maxMessages: 50to test before scaling up - Disable media (
includeMedia: false) if you only need text content — reduces output size
Integration
This telegram channel scraper works with Apify's full ecosystem:
- Webhooks: Get notified when telegram data extraction completes
- Integrations: Export telegram messages to Google Sheets, Slack, email, or any webhook
- API: Call programmatically from any language to scrape telegram channels on demand
- Scheduling: Run on a schedule for ongoing telegram monitoring
- MCP Server: Use as an AI agent tool via Apify's MCP integration
FAQ
Do I need a Telegram API key to use this scraper?
No. This telegram scraper works without any API key, phone number, or Telegram account. It accesses publicly available web previews of telegram channels, so there is nothing to configure.
Can I scrape private Telegram channels or groups?
No. This tool can only scrape telegram public channels and groups that have their web preview enabled. Private channels require authentication, which this scraper deliberately avoids.
How many messages can I scrape from a Telegram channel?
You can scrape up to 10,000 messages per channel per run. For channels with extensive history, use the dateFrom and dateTo filters to target specific time periods.
Does this telegram scraper work with Telegram groups?
Yes. Any public Telegram group or supergroup with web preview enabled can be scraped. The scraper handles both channels and groups.
Can I export Telegram messages to CSV or Excel?
Yes. After the telegram data extraction completes, you can export the dataset from Apify in JSON, CSV, Excel, XML, or RSS formats.
How often can I scrape a Telegram channel?
You can schedule recurring runs (hourly, daily, weekly) using Apify's scheduling feature for continuous telegram monitoring. The scraper respects rate limits to avoid disruptions.
Is this telegram scraper suitable for OSINT investigations?
Yes. The telegram OSINT capabilities include full message text extraction, forwarded-from tracking, link extraction, and media collection from public channels — all without revealing your identity.
Can I scrape multiple Telegram channels at once?
Yes. Pass an array of channel usernames or URLs in the channels input parameter. The telegram crawler processes them sequentially.
What data format does the telegram message extractor output?
Each message is output as a structured JSON object containing the message text, HTML, datetime, view count, media URLs, links, forwarded-from info, and reply context.
How does pagination work when scraping Telegram?
The scraper loads the most recent messages first, then automatically paginates backwards through the channel history using Telegram's ?before= parameter until your maxMessages limit is reached.
Related Tools
If you find this telegram scraper useful, check out these related data extraction tools by the same developer:
- Google Scholar Scraper — Scrape Google Scholar search results, citations, author profiles, and academic papers. Ideal for academic research and bibliometric analysis.
- Threads Scraper — Scrape Meta Threads posts, profiles, and search results. Extract text, media, engagement metrics, and replies from public Threads profiles.
All tools are available on the Apify Store and can be used via API, scheduling, or as AI agent tools via MCP.