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

Telegram Channel Scraper — Posts, Views, Reactions & Media

Pricing

$1.00 / 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 or API key. Get every post with text, date, views, reactions, photos, videos, link previews, hashtags, replies and forwards. Filter by date or keyword and fetch only new posts on schedule.

Pricing

$1.00 / 1,000 posts

Rating

0.0

(0)

Developer

DataKiln Labs

DataKiln Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Extract posts from any public Telegram channel — no Telegram account, no phone number, no API key. Paste channel names or links and get clean, structured data: text, date, views, reactions, photos, videos, link previews, hashtags, mentions, replies and forwards.

Pay only for what you get: $1 per 1,000 posts. No monthly rental, no start fees.

What can you do with it?

  • 📈 Monitor channels on a schedule — turn on Only new posts and you get (and pay for) each post exactly once.
  • 🔎 Track keywords — use Telegram's in-channel search to pull only posts that mention your brand, coin, product or topic.
  • 📊 Measure engagement — views, reaction counts per emoji, paid Star reactions and subscriber counts for every channel.
  • 🗞️ Build news and crypto feeds — full post text with links, link-preview titles and media URLs, ready for your AI pipeline or database.
  • 🧪 Research — export a channel's full history between two dates for analysis.

How to use

  1. Add one or more channels: durov, @telegram, or https://t.me/nytimes.
  2. Optionally set a date range, a keyword, or the maximum posts per channel.
  3. Click Start. Download the results as JSON, CSV, Excel or HTML, or connect them to Make, Zapier, n8n, Google Sheets or your API.

Input example

{
"channels": ["durov", "https://t.me/telegram"],
"maxPostsPerChannel": 200,
"dateFrom": "2026-01-01",
"searchQuery": "",
"onlyNewPosts": true
}

Output example

{
"postId": 548,
"url": "https://t.me/durov/548",
"channel": "durov",
"channelTitle": "Pavel Durov",
"channelSubscribers": 10500000,
"date": "2026-09-11T16:04:02+00:00",
"isEdited": false,
"author": "Pavel Durov",
"text": "🤝 Telegram has become the sponsor of Codeforces …",
"views": 2220000,
"reactions": [{ "customEmojiId": "5399847211989246390", "count": 33300 }],
"reactionsTotal": 52250,
"paidStarReactions": 21600,
"mediaType": "link_preview",
"photos": [],
"videos": [],
"linkPreview": {
"url": "https://codeforces.com/blog/entry/156620",
"siteName": "Codeforces",
"title": "Telegram Returns as Title Sponsor of Codeforces!"
},
"links": ["https://codeforces.com/blog/entry/156620"],
"hashtags": [],
"mentions": [],
"isForwarded": false,
"forwardedFrom": null,
"replyTo": null,
"scrapedAt": "2026-10-09T14:00:00+00:00"
}

All fields

FieldDescription
postId, urlPost number and direct link
channel, channelTitle, channelSubscribersChannel username, name and subscriber count
date, isEditedPublish time (ISO 8601, UTC) and edit flag
authorPost signature, when the channel shows authors
text, textLengthFull post text with line breaks and emoji
viewsView counter as a number (e.g. 18.9M → 18900000)
reactions, reactionsTotal, paidStarReactionsCount per reaction, total, and paid ⭐ reactions
mediaTypephoto, video, album, document, voice, poll, sticker, location, link_preview or empty
photos, videos, documentsMedia URLs, video thumbnails and durations, file names
pollQuestion, type and options with percentages
linkPreviewURL, site name, title, description and image of the attached link
links, hashtags, mentionsEverything linked or tagged in the text
isForwarded, forwardedFromOriginal source of forwarded posts
replyToThe post being replied to (id, link, author, text)
channelInfoOptional: description, photo, verification and counters

Pricing

Pay-per-result: $0.001 per post ($1 per 1,000 posts). Platform usage is included. Cap the cost of any run with Max total charge in the run options — the scraper stops cleanly when the cap is reached.

FAQ

Do I need a Telegram account or API keys? No. The scraper reads Telegram's public web preview (t.me/s/…), the same page anyone can open in a browser.

Which channels work? Any public channel that has a web preview. Private channels, invite-only groups and channels that disabled the preview are skipped with a clear log message.

Why is some media empty? Telegram's web preview doesn't show every media type (for example some stickers or large files). You still get the post, its text, date, views and link.

Can I scrape the full history? Yes — set Max posts per channel to 0. Combine with Posts from date to stop at a specific day.

How does "Only new posts" work? The scraper remembers the newest post id per channel in a named key-value store in your account. On the next run it stops as soon as it reaches posts you already have.

Is it legal? It collects only publicly available information. You are responsible for using the data in line with Telegram's terms and the laws that apply to you, including data-protection rules.

Support

Found a bug or need a field that's missing? Open an issue on the Issues tab — we usually reply within 24 hours.