Telegram Scraper - Channels, Messages, Media & Search
Pricing
from $2.00 / 1,000 message scrapeds
Telegram Scraper - Channels, Messages, Media & Search
Scrape public Telegram channels: full message history, media, reactions, polls, forwards, replies, link previews, channel stats, and in-channel keyword search. HTTP-only, no login or phone number required.
Pricing
from $2.00 / 1,000 message scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Telegram Scraper — Channels, Messages, Media & Search (No Login)
Extract data from public Telegram channels at scale — no login, no phone number, no API keys. Paste channel usernames or t.me links and get clean, structured JSON: full message history, media, reactions, polls, forwards, replies, link previews, and channel statistics. Includes in-channel keyword search, which most Telegram scrapers don't offer.
Built HTTP-only (no headless browser) for fast, low-cost, reliable runs.
What you can do
- Scrape full message history from any public channel (
messagesmode), oldest-to-newest, with no early page cap. - Search inside a channel by keyword — uses Telegram's native channel search to return only matching messages.
- Pull channel metadata (
channelInfomode): title, username, description, avatar, subscriber/photo/video/file/link counts. - Filter by date — only messages newer than / older than a given date (ISO or relative like
7 days,3 months). - Download media (photos, videos, voice, documents) into the run's key-value store. Media URLs are always included.
Use cases
- Crypto / web3 community & trading-signal monitoring
- OSINT, threat intelligence, and news aggregation
- Brand, topic, and competitor tracking
- Dataset building for LLM/RAG pipelines and sentiment analysis
Input
| Field | Type | Description |
|---|---|---|
channels (required) | array | Channel usernames or links: @telegram, telegram, https://t.me/telegram. |
resultsType | string | messages (default) or channelInfo. |
maxMessages | integer | Max messages per channel (default 100). |
searchQuery | string | Optional keyword — returns only matching messages in each channel. |
oldestMessageDate | string | Stop once messages are older than this (ISO or 7 days). |
newestMessageDate | string | Skip messages newer than this. |
downloadMedia | boolean | Download attached media into the key-value store (default false). |
proxyConfiguration | object | Proxy settings (Apify Proxy datacenter recommended). |
Example input
{"channels": ["@durov", "https://t.me/telegram"],"resultsType": "messages","maxMessages": 200,"oldestMessageDate": "30 days","downloadMedia": false}
Output
Each message is one dataset record:
{"channel": "durov","messageId": 372,"url": "https://t.me/durov/372","date": "2026-05-21T14:02:11+00:00","text": "Example post text...","views": 1200000,"author": "Pavel Durov","forwardedFrom": null,"replyToUrl": null,"isPinned": false,"hashtags": ["#telegram"],"mentions": ["@telegram"],"links": ["https://example.com"],"media": [{ "type": "photo", "url": "https://cdn5.telesco.pe/file/..." }],"poll": null,"linkPreview": null}
In channelInfo mode each record contains title, username, description, avatarUrl, subscribers, and content counts.
Pricing (pay-per-event)
This actor charges per result, so you only pay for data you receive. Configure these event names in the Apify console:
| Event | Suggested price |
|---|---|
actor-start | $0.001 |
message | $0.002 |
channel-info | $0.003 |
media | $0.001 |
At ~$2 per 1,000 messages it undercuts existing per-post Telegram scrapers while returning far richer data.
Notes & limits
- Public channels only. Private/invite-only channels and the messages of standard user accounts are not accessible via the public web preview and are skipped with a clear log message.
- Reaction counts and some fields are included only when Telegram exposes them on the public preview.
searchQueryperforms within-channel search (per the channels you provide); it does not discover new channels across all of Telegram.
Run via API
The actor is fully runnable via the Apify API and integrates with Make, Zapier, n8n, and webhooks like any other actor.