
Telegram Channel Scraper
hipersoft/telegram-scraper
Scrape posts from public Telegram channels: message text, date, views, author, forwards, media flags and links. For social listening, research and monitoring.
Total users
3Monthly users
1Total runs
112Per message scraped
$0.002Last rebuilt
Oct 28, 2026Overview
Scrape posts from public Telegram channels into clean structured JSON: message text, date, view count, author, forward info, media flags, and links. Just provide channel usernames or t.me URLs and set how many recent messages you want. No login, no API key. Built for social listening, research, brand monitoring, and OSINT.

Features
- ๐ฌ Full message records โ
text,date,views,author, and a direct posturlfor each message. - ๐ Forward tracking โ
isForwardedandforwardedFromreveal reposted content and its source. - ๐ผ๏ธ Media flags โ
hasPhotoandhasVideomark messages carrying images or video/documents. - ๐ Extracted links โ every outbound URL in a message is collected in the
linksarray. - ๐ Deep history โ fetch up to 5,000 recent messages per channel via automatic pagination.
- ๐ฏ Flexible input โ accepts plain usernames (
durov) ort.me/...URLs. - โก No account needed โ reads the public t.me web preview; works without a proxy.
What you get

Each message is one clean JSON record:
{
"id": 142,
"channel": "telegram",
"url": "https://t.me/telegram/142",
"text": "Introducing a new feature for channels ...",
"date": "2026-07-21T09:30:00+00:00",
"views": 1850000,
"author": null,
"isForwarded": false,
"forwardedFrom": null,
"hasPhoto": true,
"hasVideo": false,
"links": ["https://telegram.org/blog"]
}
Output schema
| Field | Type | Description |
|---|---|---|
id |
integer | Message ID within the channel. |
channel |
string | Channel username. |
url |
string (URL) | Direct link to the post on t.me. |
text |
string | Message text content. |
date |
string (ISO date) | When the message was posted. |
views |
integer | View count of the message. |
author |
string | Post author or signature, when present. |
isForwarded |
boolean | Whether the message is a forward. |
forwardedFrom |
string | Source the message was forwarded from. |
hasPhoto |
boolean | Whether the message contains a photo. |
hasVideo |
boolean | Whether the message contains video or a document. |
links |
array | Outbound URLs found in the message. |
Input
{
"channels": ["durov", "t.me/telegram"],
"maxItemsPerChannel": 50,
"proxyConfiguration": { "useApifyProxy": false }
}
| Field | Description |
|---|---|
channels |
Public channel usernames or t.me/... URLs. |
maxItemsPerChannel |
Most recent messages per channel (up to 5000). |
proxyConfiguration |
Optional proxy; t.me works without one. |
Use cases
- Monitor public channels for brand mentions and social listening.
- Track view counts and posting cadence over time.
- Collect links shared by news or community channels.
- Build research datasets from public Telegram content.
Pricing
Pay-per-event: you're billed a small amount per run and per item scraped โ you only pay for what you get. See the Pricing tab for current rates.
FAQ
Do I need a Telegram account or API key? No. The Actor reads the public Telegram t.me web preview of public channels, so it works without any login, API key, or even a proxy.
How many messages can I scrape per channel?
Up to 5,000 of the most recent messages per channel, fetched via automatic pagination. Set the exact number with maxItemsPerChannel.
Is scraping Telegram legal? The Actor accesses only public channel content โ never private, member-only, or account-gated messages. It is an independent tool, not affiliated with Telegram Messenger Inc.; use it in line with Telegram's terms and applicable law.
What's the output format? Clean JSON with one record per message (text, date, views, author, forward info, media flags, links). Export as JSON, CSV, or Excel from the Apify Console or API.
Can I filter or limit results?
Yes. Use maxItemsPerChannel to cap how many recent messages are collected, and pass multiple channel usernames or t.me/... URLs to scrape several channels in one run.
Can I integrate this with other tools? The Telegram Channel Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Extend your social listening and research coverage with:
- Reddit Scraper โ posts, comments, users, and subreddits without login.
- Google News Scraper โ headlines by keyword and topic from Google News RSS.
- Hacker News Scraper โ stories, comments, and users from Hacker News.
- Website Contact Scraper โ extract emails, phones, and social links from websites.
Notes
This Actor reads only the public t.me web preview of public channels โ no login or key, and no private or member-only content. It is an independent tool and is not affiliated with, endorsed by, or connected to Telegram Messenger Inc. Scrape public data only.
Input
| Field | Type | Description |
|---|---|---|
channelsChannels | array | Public Telegram channel usernames or t.me URLs (e.g. durov, t.me/telegram), one per line. |
maxItemsPerChannelMax messages per channel | integer | Most recent messages to fetch per channel (~20 per page). Default: 50 |
proxyConfigurationProxy (optional) | object | Optional. t.me works without a proxy. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~telegram-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channels": [
"telegram"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/telegram-scraper").call(run_input={
"channels": [
"telegram"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/telegram-scraper').call({
"channels": [
"telegram"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Message scraped One post with text, date, views, author, media flags and links | $0.002 | $0.001 |
| Channel page fetched One Telegram channel page (~20 posts) fetched and parsed | $0.001 | $0.001 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Website Contact Scraper
Extract business emails, phone numbers and social media profiles from any list of websites. De-obfuscates emails, reads Organization schema, and optionally crawls contact/about pages. Bulk-ready.
1,576 runs ยท 69 users ยท $0.0024 / website scrapedThreads Downloader
Download Threads photos, videos and carousel posts by URL. Paste threads.net or threads.com links and get ready-to-use download links plus direct media URLs, a thumbnail, media type and count โ one row per URL as JSON, CSV or Excel. Cheap, bulk, built for creators and n8n.
799 runs ยท 4 users ยท $0.003 / post downloadedTikTok Video Downloader
Download TikTok videos without watermark in bulk. Paste video or photo-slideshow URLs and get a clean HD MP4 download link plus full metadata: caption, author, play/like/comment/share counts, sound and cover โ one row per post as JSON, CSV or Excel. For creators, research and n8n.
678 runs ยท 9 users ยท $0.0035 / video downloadedReddit Scraper
Scrape Reddit posts and comments by subreddit, keyword, author or thread URL. Get titles, self-text, scores, upvote ratio, comment counts, comment trees and permalinks โ one clean row per post or comment. Export as JSON, CSV or Excel.
568 runs ยท 15 users ยท $0.0034 / post scrapedSpotify Scraper
Search Spotify and scrape public metadata for tracks, artists, albums and playlists: names, artists, popularity, followers, genres, release dates, duration, ISRC, preview URL and more. No Spotify login or API key required. For music research, catalogs and analytics.
478 runs ยท 9 users ยท $0.0034 / item scrapedReddit Video, Image & GIF Downloader
Download Reddit videos, images and GIFs by post URL. Paste reddit.com or redd.it links and get ready-to-use download links โ videos as a single playable MP4 with audio, images and galleries as direct links โ one row per URL as JSON, CSV or Excel. Cheap, bulk, built for creators and n8n.
453 runs ยท 16 users ยท $0.003 / item scrapedSend the site and the fields. We build it and you get it first.