Telegram Channel Posts Scraper – Comments & Media avatar

Telegram Channel Posts Scraper – Comments & Media

Pricing

from $0.02 / 1,000 post extracteds

Go to Apify Store
Telegram Channel Posts Scraper – Comments & Media

Telegram Channel Posts Scraper – Comments & Media

Export public Telegram channel posts, comment counts and optional public comments with text, authors, dates, media, views, filters, and monitoring fields.

Pricing

from $0.02 / 1,000 post extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

29

Total users

22

Monthly active users

4 hours ago

Last modified

Share

Telegram Channel Posts Scraper

Export posts from public Telegram channels with text, timestamps, views, reactions, links, media URLs, and source post URLs.

Use this Actor to collect public Telegram channel posts for social listening, news monitoring, crypto and market research, media analysis, brand tracking, and recurring channel dashboards. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.

Automate Telegram channel workflows in n8n: Use the ready-made Export Telegram channel posts to Google Sheets with Apify workflow for a searchable archive, or Monitor Telegram channel intelligence with Apify, OpenAI, Google Sheets, and Telegram to classify new posts and send alerts.

At a glance

  • Public channel export: Enter Telegram channel handles, usernames, or public channel URLs.
  • Post data rows: Export post IDs, URLs, dates, text, views, forwards, replies, reactions, links, and media URLs.
  • Date filtering: Limit posts with sinceDate and untilDate.
  • Monitoring ready: Schedule recurring channel checks for news, crypto, research, or brand monitoring.
  • API export: Send Telegram post rows to spreadsheets, BI tools, alerting systems, databases, or AI agents.

Ready-to-run examples

Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.

What can it do?

Telegram Channel Posts Scraper extracts posts from public Telegram channels and saves one dataset row per post.

  • Scrape public channels: Use channel handles, public usernames, t.me links, or public channel URLs.
  • Collect post metadata: Save post text, date, URL, views, replies, forwards, reactions, and links.
  • Include media URLs: Add public media URLs when available and requested.
  • Filter history: Use date inputs to keep runs focused.
  • Export repeatable datasets: Use Apify downloads, API calls, schedules, webhooks, and integrations.

Common workflows

  • Social listening: Monitor public Telegram channels for brand, topic, or market mentions.
  • News monitoring: Track public posts from media, research, and announcement channels.
  • Crypto research: Export public channel posts for project, token, or community analysis.
  • Market intelligence: Watch competitor, vendor, industry, or regional channels.
  • Content archiving: Store public post rows for later review and analysis.
  • AI summaries: Feed post text and links into summarization, classification, or alerting workflows.

What data can you extract?

The Actor returns one dataset row per public Telegram channel post.

FieldDescription
channelHandleInput channel handle or URL
channelUsernamePublic Telegram channel username
channelTitleChannel title when available
postIdTelegram post ID
postUrlPublic post URL
datePost date
postedAtNormalized post timestamp when available
textPublic post text
viewsPublic view count when available
forwardsForward count when available
replyCountReply count when available
repliesReply metadata when available
reactionsPublic reactions when available
linksLinks found in the post
mediaUrlsPublic media URLs when included and available
rawHtmlSnippetOptional raw HTML snippet
scrapedAtTimestamp when the row was saved

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
postCharged per post extracted.$0.04225 / 1,000$0.03674 / 1,000$0.02866 / 1,000$0.02204 / 1,000$0.0147 / 1,000$0.01029 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Input configuration

SettingJSON keyUse it forExample
ChannelschannelsPublic Telegram handles, usernames, or channel URLs.["telegram"]
Maximum postsmaxPostsCap saved post rows and spend.25
Maximum posts per channelmaxPostsPerChannelBalance multi-channel runs so one active channel does not consume the full run.10
Maximum history pages per channelmaxPagesPerChannelBound Telegram pagination for older history windows.20
Only posts since datesinceDateKeep posts on or after this date.2026-07-01
Only posts until dateuntilDateKeep posts on or before this date.2026-07-03
Only posts after IDafterPostIdResume after one global Telegram message ID checkpoint.430
Per-channel post ID checkpointsafterPostIdsResume different channels from different message IDs.{"telegram":430}
Include media URLsincludeMediaSave public media URLs when available.true
Include raw HTML snippetincludeRawHtmlSnippetSave a small raw HTML snippet for debugging or custom parsing.false
Include public commentsincludeCommentsSave public discussion comments for posts that expose them.false
Include comment countincludeCommentCountFetch accurate public discussion counts; disable to reduce requests.true
Maximum comments per postmaxCommentsPerPostLimit embedded public comments per saved post.20
Minimum commentsminCommentsKeep only posts with at least this many public comments.0
Proxy configurationproxyConfigurationOptional Apify Proxy settings.{"useApifyProxy":true}
Safe run-time limitrunTimeSecsStop before the platform timeout and preserve saved posts.270

Example input

{
"channels": ["telegram"],
"maxPosts": 25,
"sinceDate": "2026-07-01",
"includeMedia": true
}

Example output

{
"channelUsername": "telegram",
"channelTitle": "Telegram News",
"postId": "123",
"postUrl": "https://t.me/telegram/123",
"date": "2026-07-03",
"postedAt": "2026-07-03T10:00:00.000Z",
"text": "Example public channel post",
"views": 12000,
"forwards": 45,
"replyCount": 10,
"reactions": [{"emoji": "like", "count": 100}],
"links": ["https://example.com"],
"mediaUrls": ["https://..."],
"scrapedAt": "2026-07-03T12:00:00.000Z"
}

How to run it

  1. Open the Actor on Apify.
  2. Add one or more public Telegram channels.
  3. Set maxPosts.
  4. Add optional date filters.
  5. Choose whether to include media URLs or raw HTML snippets.
  6. Start the run and export the dataset.

Search tips

  • Use public channels only: Private channels and groups are not supported.
  • Start with one channel: Confirm output shape before adding a large channel list.
  • Use date filters: Keep recurring runs focused with sinceDate.
  • Enable media only when needed: Media URLs can make rows larger.
  • Schedule monitoring: Reuse the same channel list for daily or weekly snapshots.

Limits and caveats

  • The Actor extracts public Telegram channel posts only.
  • It does not access private channels, private groups, user chats, or login-gated data.
  • Some public counters, reactions, replies, or media URLs may be missing depending on Telegram page output.
  • Very large channels may require focused limits and date windows.

API usage

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~telegram-channel-posts-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"channels":["telegram"],"maxPosts":25,"includeMedia":true}'

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/telegram-channel-posts-scraper').call({
channels: ['telegram'],
maxPosts: 25,
includeMedia: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/telegram-channel-posts-scraper').call(run_input={
'channels': ['telegram'],
'maxPosts': 25,
'includeMedia': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

MCP and AI agents

This Actor can be used through the official Apify MCP server at https://mcp.apify.com.

Claude CLI setup

$claude mcp add apify --transport http https://mcp.apify.com?tools=fetch_cat/telegram-channel-posts-scraper

JSON config

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/telegram-channel-posts-scraper"
}
}
}

Example prompts

  • "Scrape the latest 25 posts from the public Telegram channel telegram."
  • "Export public Telegram posts from durov since 2026-07-01 and include media URLs."
  • "Compare recent public posts from telegram and durov for social listening."

Use the same JSON keys shown in the input configuration table, such as channels, maxPosts, sinceDate, untilDate, and includeMedia.

FAQ

Can it scrape private Telegram channels?

No. It extracts public channel pages only.

Can it scrape Telegram groups?

No. This Actor is for public Telegram channels.

Can I scrape multiple channels in one run?

Yes. Add multiple values to channels.

Can I export to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, HTML, or accessed through the API.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses content lookup inputs and public posts, profiles, videos, comments, or channel metadata needed for the requested output to produce the output dataset and sends requests to public Telegram Channel Posts pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.