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

Telegram Channel Scraper - Posts, Messages, Views & Media

Pricing

from $1.60 / 1,000 posts

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

Telegram Channel Scraper - Posts, Messages, Views & Media

Scrape posts and messages from any public Telegram channel: text, dates, views, reactions, photos, videos, links, hashtags, and channel profiles with subscriber counts. Search by keyword, pick a date range, or monitor channels on a schedule. No Telegram account or API key needed.

Pricing

from $1.60 / 1,000 posts

Rating

0.0

(0)

Developer

VeroAPIs

VeroAPIs

Maintained by Community

Actor stats

0

Bookmarked

18

Total users

5

Monthly active users

a day ago

Last modified

Share

Telegram Channel Scraper — posts, messages, views, reactions, and media from any public channel

Get the posts from any public Telegram channel as clean, structured data: text, dates, view counts, emoji reactions, photos, videos, links, hashtags, and full channel profiles, ready to export. Search channels by keyword, pick any date range, or schedule it to monitor channels every day. No Telegram account, no API keys, no setup.

What is Telegram Channel Scraper?

Telegram Channel Scraper is an unofficial Telegram channel API. Give it channel usernames or links and it returns every post as a row you can download as JSON, CSV, or Excel, or read straight from your code. Use it as a:

  • Telegram channel scraper — the latest posts or the full history of any public channel.
  • Telegram message exporter — export a channel's messages to a spreadsheet in one click.
  • Telegram keyword monitor — collect only the posts that mention your brand, coin, product, or hashtag.
  • Telegram media scraper — direct links to photos and videos, with video previews and lengths.
  • Telegram channel stats tool — subscriber counts, views per post, and reactions for engagement analysis.

What you can do

  • Track announcements, news, and trends across the channels you care about
  • Collect post history with view counts and emoji reactions for engagement analysis
  • Search inside channels — only collect posts mentioning your keyword, product, or hashtag
  • Scope the scrape to any date range — even years back in a channel's history, in seconds
  • Use periods like 7 days so every scheduled run gets only the fresh posts
  • Capture photos, videos, and every link in the post, including links hidden behind words
  • Get each channel's profile with every post: name, picture, verification badge, bio, and subscriber count
  • Scrape several channels in a single run

Why use it

  • No login, ever. Nothing to sign in to, no phone number, no API keys, no account to risk.
  • Deep history, fast. Jump straight to any date range, even years back, without paging through everything newer.
  • Real keyword search. Get every matching post in your date range, not just the first screen of results.
  • Complete posts. Text, views, reactions, photos, videos, links, hashtags, mentions, replies, forwards, edits, and signatures.
  • Fair billing. You pay per post delivered, and the run stops exactly at your spending limit.

Use cases

  • News and media monitoring — follow news channels and get every new post in your spreadsheet or Slack.
  • Crypto and finance research — track project, exchange, and signal channels for announcements and coin mentions.
  • Brand monitoring — catch every post that mentions your brand, product, or competitors.
  • OSINT and academic research — build clean, dated datasets of public channel activity.
  • Marketing and influencer research — compare views, reactions, and subscriber counts across channels before you advertise.
  • AI and LLM pipelines — feed fresh channel posts into summaries, sentiment analysis, or your own AI agent.

What Telegram data can you extract?

PostsChannel profile
Post text, link, and IDChannel name and username
Publish date and time, edited flagProfile picture
View countVerification badge
Emoji reactions with countsBio
PhotosSubscriber count
Videos with preview image and lengthTotal photos, videos, files, and links
Every link in the text, hashtags, and mentions
Link preview card (title, description, image)
Reply-to post, forwarded-from channel, admin signature

How to use it

  1. Add one or more channels — usernames like durov or links like https://t.me/telegram.
  2. Choose how many of the latest posts you want per channel.
  3. Optionally add a search query to only get posts that mention it.
  4. Optionally set a date range with Posted after and Posted before.
  5. Click Start and download your results as JSON, CSV, or Excel.

Input example

{
"channels": ["telegram", "https://t.me/durov"],
"searchQuery": "Premium",
"maxPosts": 200,
"postedAfter": "2026-01-01",
"postedBefore": "2026-07-01"
}
FieldWhat it does
ChannelsUsernames (durov, @telegram) or links (https://t.me/durov, https://t.me/s/durov).
Search queryOnly posts containing every word you enter, in any order and letter case. Enter the start of a word to catch all its forms: invest matches investor and investing, Украин matches Украина and Украины.
Max posts per channelHow many posts you want from each channel (matching posts when you search).
Posted after / Posted beforeA date range. Accepts a date or a period like 7 days, 2 weeks, or 1 month.

What you get

One row per post — this is a real post from @durov:

{
"channel": "durov",
"id": 519,
"url": "https://t.me/durov/519",
"date": "2026-05-20T15:38:10+00:00",
"edited": false,
"signature": "Pavel Durov",
"text": "🤖 Your Telegram inbox can now run itself.\n\nAssign a bot to read and reply for you — with granular control over its rights and chat access. 🧠\n\n⚙️ Start building!",
"views": 8900000,
"reactions": [
{ "emoji": "⭐", "count": 2500 },
{ "emoji": "https://cdn4.telesco.pe/file/d-ioQ7HdVo804wo4U1lKr…", "count": 23600 },
{ "emoji": "https://cdn4.telesco.pe/file/QcOgSQlxh3egDu_2lnkUd…", "count": 7830 }
],
"links": ["https://core.telegram.org/bots/features#secretary-bots"],
"hashtags": [],
"mentions": [],
"replyToUrl": null,
"forwardedFrom": null,
"forwardedFromUrl": null,
"photos": [],
"videos": [
{
"url": "https://cdn4.telesco.pe/file/e174be993b.mp4?token=J2Wb_2rd9eP3g…",
"thumbnail": "https://cdn4.telesco.pe/file/q--BrHxCrn3tk68oKyAnHv7…",
"duration": 9
}
],
"linkPreview": null,
"author": {
"name": "Pavel Durov",
"username": "durov",
"photo": "https://cdn4.telesco.pe/file/enJjZA2XzVbFAjeTOqFmq….jpg",
"verified": true,
"description": "Founder of Telegram.",
"subscribers": 10300000,
"photos": 102,
"videos": 47,
"files": null,
"links": 200
}
}

Reactions cover everything users can send: standard emoji like 🔥, ⭐ for paid star reactions, and image links for custom premium emoji.

Videos come with a preview image and, where Telegram shows it, their length in seconds. A few large videos play only in the Telegram app: those keep their preview and length with an empty url, and you open them from the post link. The Output tab has ready-made Overview, Engagement, and Media and links tables.

Pricing

You pay only for the posts you get — no subscriptions, no surprises.

What you getPrice
1,000 posts$2.00
Each run$0.00005 to start

A few examples:

  • A channel's latest 100 posts: about $0.20.
  • 1,000 posts mentioning your brand across 10 channels: about $2.00.
  • A daily run collecting about 50 new posts: about $3.00 a month.

Set a spending limit on any run and it stops exactly there. Apify's free plan includes monthly credit, so you can try it at no cost.

Integrations

Send Telegram posts anywhere with Apify's built-in integrations: Google Sheets, Slack, Zapier, Make, n8n, Airbyte, webhooks, and more. Schedule the actor every morning with Posted after set to 1 day and new posts land in your spreadsheet or Slack channel automatically.

Run it from your code or AI assistant

Call it from JavaScript with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('vero-api/telegram-channel-scraper').call({
channels: ['telegram', 'durov'],
maxPosts: 100,
postedAfter: '7 days',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'posts');

Or from Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("vero-api/telegram-channel-scraper").call(run_input={
"channels": ["telegram"],
"searchQuery": "Premium",
"maxPosts": 50,
})
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item["url"], item.get("views"))

AI assistants such as Claude and ChatGPT can run it too, through the Apify MCP server: ask for "the latest posts from the Telegram channel durov" and the assistant runs the actor for you.

FAQ

Do I need a Telegram account or API keys? No. Just paste the channel name and start.

Which channels work? Any public channel. Works best with channels that have their post history visible on the web.

Can I scrape private channels or groups? No. The actor reads public channels only. Invite links (t.me/+…) lead to private chats, so paste a public channel's @username or link instead.

Can I get old posts? Yes — set a date range and the scraper jumps straight to it, even if it's years back in a channel's history.

How does keyword search work? You get every post whose text or link preview contains all the words you enter, ignoring letter case. Words match exactly as you type them, so for words that change their ending, enter the stem: Украин matches Украина, Украины, and Украине, and invest matches investor and investing. Each channel's 20,000 most recent posts are searched (counting back from Posted before, if you set it); set Posted after to search a whole date range of any size.

Can I get only new posts on a schedule? Yes. Schedule the actor and set Posted after to a period like 1 day or 7 days. The period counts back from the moment each run starts, so a daily run set to 1 day gets every post exactly once.

Can I download Telegram videos and photos? Yes. Posts include direct links to their photos and videos, ready to download or open with any video player or app. A few large videos play only in the Telegram app: those come with their preview image and length, and you open them from the post link.

Do I get the links inside posts? Yes. links lists every web link in the text, including links behind words, and linkPreview holds the preview card.

Why are some post numbers missing? Deleted posts leave gaps, and posts Telegram shows only inside its app (with no text or media on the web) are skipped and not charged.

What if a channel doesn't exist? The run keeps going, and you get one row saying the channel wasn't found or is private, billed like one post.

Can I call it like an API? Yes — start a run through the Apify API and read the posts from its dataset.

How fresh is the data? Every run fetches the channel live, so you always get the latest posts first.

Is this an official Telegram tool? No. Telegram Channel Scraper is an independent tool. It is not affiliated with, endorsed by, or sponsored by Telegram.

More tools from us