Telegram Channel Scraper - Posts, Views, Reactions & Media avatar

Telegram Channel Scraper - Posts, Views, Reactions & Media

Pricing

from $0.45 / 1,000 posts

Go to Apify Store
Telegram Channel Scraper - Posts, Views, Reactions & Media

Telegram Channel Scraper - Posts, Views, Reactions & Media

Scrape public Telegram channels without login: posts with text, date, views, reactions, photos, videos, files, polls, links, hashtags and forwards, filtered by date range and keywords, plus channel details like subscribers, description and verified badge.

Pricing

from $0.45 / 1,000 posts

Rating

0.0

(0)

Developer

Automly

Automly

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

10 days ago

Last modified

Share

What is Telegram Channel Scraper?

Telegram Channel Scraper is a tool that lets you scrape posts from public Telegram channels: text, date, views, reactions, photos, videos, files, polls, link previews, links, hashtags, mentions, forwards and replies, plus channel details like subscribers, description, verified badge and photo. Paste channel names or t.me links, click Start, and download the posts as Excel, CSV or JSON.

  • ⚡ Fast: 6,800 posts from six channels in about 2 minutes (our tests)
  • 📜 Full history: read a channel back to its very first post, or jump straight to any date range
  • 🔎 Keyword filter: keep only the posts that mention your words, from the whole history
  • 🔓 No login: no Telegram account, phone number or bot needed
  • 💸 Free to try: the $5 of free usage every Apify account gets each month covers about 5,000 posts

What can Telegram Channel Scraper do?

  • Scrape Telegram channel posts from any public channel, like durov, telegram or bbcrussian
  • Export a channel's entire post history to Excel or CSV, from the newest post back to the first one
  • Scrape posts between two dates, for example everything a channel posted in September 2026, or in 2017
  • Monitor Telegram channels for keywords: brand names, tickers, topics, in any language
  • Download Telegram photos, videos, voice notes and files: every post gives the media links and thumbnails
  • Track Telegram post views and reactions to measure engagement over time
  • Get Telegram channel subscriber counts, descriptions, verified badges and photos, also for public groups (members and online count)
  • Scrape a single Telegram post from its link
  • Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

What data can you extract from Telegram?

📝 Post text with line breaks📅 Date and time (UTC)👁️ Views
❤️ Reactions by emoji, paid stars🖼️ Photos and albums🎬 Videos with thumbnail and length
🎙️ Voice notes and audio📎 Files with name and size📊 Polls with options and percentages
🔗 Links and link previews#️⃣ Hashtags@ Mentions
↪️ Forwarded from💬 Reply to post✏️ Edited flag and author signature
👥 Channel subscribers✅ Verified, scam and fake labels🧾 Channel description, photo and links

How to scrape Telegram channels

  1. Create a free Apify account.
  2. Open Telegram Channel Scraper.
  3. Enter channel usernames or links, one per line (durov, @durov or https://t.me/durov).
  4. Choose Posts or Channel details, set Max posts per channel, and add dates or keywords if you need them.
  5. Click Start, then download the data as Excel, CSV, JSON or HTML.

How much does it cost to scrape Telegram posts?

You pay only for the rows you get: one price per post, and another per channel row when What to scrape is Channel details. With Keywords, only matching posts are saved and paid for.

Apify planPosts per 1,000Channels per 1,000
Free$1.00$2.00
Starter (Bronze)$0.80$1.60
Scale (Silver)$0.60$1.20
Business (Gold) and higher$0.45$0.90

Platform usage is included in these prices, so there is nothing else to pay.

Example: the latest 1,000 posts of a news channel cost $1.00 on the Free plan and $0.45 on Business. Subscriber counts and details for 100 channels cost $0.20 on the Free plan.

Every Apify account gets $5 of free usage each month, enough for about 5,000 posts at Free-plan prices. See the Pricing tab for details.

⬇️ Input

SettingWhat it does
ChannelsChannel usernames or links: durov, @durov, https://t.me/durov. A post link like https://t.me/durov/528 gets that one post. Public groups work with Channel details
What to scrapePosts (one row per post) or Channel details (one row per channel or group)
Max posts per channelHow many posts to save from each channel, newest first (default 100). Set 0 for every post
Posted afterOnly posts from this date on: a date like 2026-09-01, or a span like 7 days or 3 months
Posted beforeOnly posts up to this date (the whole day counts). Old dates are reached quickly, even on channels with 100,000 posts
KeywordsOnly posts containing any of these words or phrases. Case does not matter

The latest 100 posts of two channels:

{
"channels": ["durov", "https://t.me/telegram"],
"maxPostsPerChannel": 100
}

Everything a channel posted in September 2026:

{
"channels": ["bbcrussian"],
"since": "2026-09-01",
"until": "2026-09-30",
"maxPostsPerChannel": 0
}

Posts from the last 7 days that mention Bitcoin or ETF:

{
"channels": ["cointelegraph", "binance_announcements"],
"since": "7 days",
"keywords": ["bitcoin", "etf"],
"maxPostsPerChannel": 0
}

Subscriber counts and details of channels and groups:

{
"channels": ["durov", "telegram", "tondev_eng"],
"dataType": "channels"
}

⬆️ Output

Every post is one row, newest first. A post from durov:

{
"type": "post",
"postId": 540,
"url": "https://t.me/durov/540",
"channelUsername": "durov",
"channelTitle": "Pavel Durov",
"channelId": "1006503122",
"date": "2026-08-10T09:29:58Z",
"isEdited": false,
"text": "🇺🇿 The 2026 International Olympiad in Informatics starts today in Tashkent.\n\n🏆 The IOI is the ultimate coding competition for high-school students...",
"views": 4510000,
"viewsText": "4.51M",
"reactionsCount": 77110,
"reactions": [
{"emoji": "⭐", "customEmojiId": null, "isPaid": true, "count": 9110},
{"emoji": null, "customEmojiId": "5373223594484587136", "isPaid": false, "count": 42400}
],
"mediaType": "photo",
"media": [
{"type": "photo", "url": "https://cdn4.telesco.pe/file/rXuYXRpOtzkW...jpg", "thumbnailUrl": null, "duration": null, "title": null, "size": null, "postId": 540}
],
"linkPreview": null,
"poll": null,
"links": [],
"hashtags": [],
"mentions": [],
"forwardedFrom": null,
"forwardedFromUrl": null,
"replyToPostId": null,
"replyToUrl": null,
"signature": "Pavel Durov",
"summary": "🇺🇿 The 2026 International Olympiad in Informatics starts today in Tashkent. 🏆 The IOI is the ultimate coding competition...",
"source": "durov",
"scrapedAt": "2026-10-02T13:29:34Z"
}

A channel details row:

{
"type": "channel",
"channelUsername": "telegram",
"channelTitle": "Telegram News",
"url": "https://t.me/telegram",
"channelType": "channel",
"channelId": "1005640892",
"description": "The official Telegram on Telegram. Much recursion. Very Telegram. Wow.",
"isVerified": true,
"isScam": false,
"isFake": false,
"photoUrl": "https://cdn1.telesco.pe/file/AjofbfcZEFDA...jpg",
"subscribers": 9419595,
"onlineMembers": null,
"photosCount": 16,
"videosCount": 228,
"linksCount": 378,
"hasPublicPosts": true,
"latestPostId": 460,
"latestPostDate": "2026-08-26T19:12:34Z"
}

mediaType is text, photo, video, round_video, voice, audio, document, sticker, location, album (several photos or videos in one post), poll, or other for posts Telegram shows only in its app. An album is one row: media lists every photo and video with its own postId.

The Overview tab lists every row with a short summary, and the Posts, Media and Channel details tabs show the details as tables. The run report lists, for every channel, how many posts were saved, the newest and oldest post date and whether the channel's first post was reached.

How can I use Telegram data?

  • News and media monitoring: follow what news channels publish, with views and reactions
  • Crypto and finance research: collect announcements and signals from crypto channels, filter by ticker
  • Brand monitoring: find every post that mentions your brand or product across many channels
  • Competitor analysis: compare posting frequency, views and engagement of competing channels
  • Influencer and channel discovery: rank channels by subscribers, verified status and activity
  • Research and AI datasets: build text and media datasets from public channels, with dates and links
  • Archiving: keep a copy of a channel's full public history

Scrape more social media and news data

ActorWhat it gets
X (Twitter) Scraper - Profile Tweets & PostsTweets from any public X profile: text, views, likes, reposts, replies, media and dates
Reddit Scraper - Posts, Comments, Users, Subreddits & SearchReddit posts, comments, subreddits, user profiles and keyword search results
Facebook Groups Scraper - Public Group PostsPosts from public Facebook groups: text, author, date, reactions, comments and media
Threads Scraper: 200 Posts per Profile, Search & RepliesPublic Threads posts, profiles, keyword search and replies
Google News Scraper API - Full Text, Monitoring & RSSGoogle News articles by keyword, with full text and only new articles on every run

❓FAQ

How much does it cost to scrape Telegram?

$1.00 per 1,000 posts on the Free plan and less on paid plans, with platform usage included; channel detail rows have their own price. See the cost section above for every plan and price. Max posts per channel keeps the cost of a run under control, and you can also set a maximum cost per run.

How many posts can I get?

Everything a channel shows publicly, back to its first post. Big channels with tens of thousands of posts are read to the end when you set Max posts per channel to 0, and Posted before jumps straight to old posts without reading everything newer. A run with many channels takes about as long as a run with a few.

Do I need a Telegram account or phone number?

No. You don't need a Telegram account, phone number, bot or API key: the scraper collects the public posts anyone can see without signing in. Nothing is posted, joined or liked.

Can I scrape private channels or groups?

No. Private channels and invite links (t.me/+...) need an account and are reported as not found. Public groups give their details (title, description, members and online count) with Channel details; Telegram does not show group messages publicly, and member lists and phone numbers are never collected.

Can I download Telegram videos and photos?

Yes. media has a link to every photo, video, voice note and sticker and a thumbnail for videos. Telegram does not show very large videos on the web: those come with their thumbnail and length but no video link. Media links can stop working after a while, so download what you need soon after the run.

Are views and reactions exact?

They are the numbers Telegram shows publicly, which are rounded for big numbers (4.51M). views turns them into a number (4510000) and viewsText keeps them as shown. Subscriber counts on Channel details are exact. Comment and forward counts are not shown publicly.

What happens with a wrong name or a deleted post?

The run goes on with the other channels and ends successfully; the run report lists the names that do not exist, are private, belong to a person or a bot, or have no public posts. A post link to a deleted post is reported the same way.

Can I search all of Telegram by keyword?

Telegram has no public search across channels. Add the channels you care about and use Keywords: the scraper checks every post of each channel, from newest to oldest or within your dates.

Can I connect Telegram Channel Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at mcp.apify.com. For instant answers inside your app, its real-time API returns rows directly for /posts?channel=durov&limit=20 and /channels?channel=durov,telegram, without starting a run.

This scraper only collects what public channels chose to post for everyone to see. It never collects member lists, phone numbers or private chats. Posts can still contain personal data, which may be protected by laws such as GDPR, so only scrape for a legitimate reason, respect copyright when you reuse posts and media, and ask a lawyer if you are unsure. You can read more in Is web scraping legal?

Telegram Channel Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Telegram.

Something isn't working?

Open the Issues tab and tell us your input and what you expected, or which field you need. We read every one and usually reply within a day.

⭐ Your feedback

Have an idea or found a problem? Tell us in the Issues tab. If Telegram Channel Scraper saved you time, a short review on the Reviews tab helps other people find it.