Telegram Channel Scraper avatar

Telegram Channel Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Telegram Channel Scraper

Telegram Channel Scraper

Extracts posts from public Telegram channels with views, dates, text, hashtags, media URLs, link previews and forwards. Reaches full channel history, supports keyword search and incremental monitoring, and exports to JSON, CSV or Excel.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Innovatica AI

Innovatica AI

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 days ago

Last modified

Categories

Share

Extract posts from public Telegram channels — views, text, dates, hashtags, media URLs, link previews and forwards. Reaches a channel's entire history, supports keyword search, and can return only what's new since your last run.

Built and maintained by Innovatica.ai.

Парсер Telegram-каналов: посты, просмотры, даты, медиа. Экспорт в JSON, CSV, Excel.


What you get

Every post returns a flat, stable record:

FieldDescription
postId, messageId, urlIdentifiers and a direct link to the post
channelUsername, channelTitle, channelSubscribersChannel context on every row
text, textLengthFull post text, plain
views, viewsLabelView count as a number (3610000) and as shown (3.61M)
postedAtISO 8601 timestamp, UTC
hashtags, mentions, outboundLinksExtracted from the post body
photoUrls, videoUrl, videoDurationDirect media URLs
linkPreviewTitle, linkPreviewUrlLink preview card
isForwarded, forwardedFrom, replyToPostIdMessage relationships
hasSticker, hasVoice, hasDocument, pollQuestion, isEditedContent flags
scrapedAtCollection timestamp

With Include a channel summary row enabled you also get one row per channel carrying channelDescription, subscribers, photosCount, videosCount and linksCount.


Tutorial

1. Scrape a channel

Put handles into Telegram channels@durov, durov and https://t.me/durov all work:

@durov
@telegram

Set Maximum posts per channel for depth. Telegram exposes the full archive, so raising it to 5,000 genuinely fetches 5,000 posts back through the channel's history.

2. Scrape specific posts

Paste links into Individual post URLs:

https://t.me/durov/538

3. Monitor a channel on a schedule

Enable Only return posts not seen before, then schedule the Actor. It remembers the newest post per channel and returns only what appeared since — so you pay for new content, not for re-downloading the archive.

{
"channels": ["@durov", "@telegram"],
"maxPostsPerChannel": 50,
"onlyNewResults": true
}

Pricing

Pay per result. You are charged only for posts actually saved — posts removed by filters and failed lookups are not charged.

Cost control:

  • Maximum results caps the entire run.
  • Filters (minimum views, must-contain text, media-only, date range) drop unwanted posts before they are saved.
  • Only return posts not seen before makes scheduled runs charge only for genuinely new posts.

This Actor needs no proxy — Telegram serves these pages to ordinary requests — which keeps your platform costs near zero.


Input example

{
"channels": ["@durov"],
"postUrls": [{ "url": "https://t.me/telegram/455" }],
"maxResults": 500,
"maxPostsPerChannel": 200,
"minViews": 10000,
"onlyWithMedia": false,
"postedAfter": "2026-01-01",
"includeChannelInfo": true,
"onlyNewResults": false
}

Output example

{
"postId": "durov/538",
"messageId": 538,
"channelUsername": "durov",
"url": "https://t.me/durov/538",
"text": "Last night, Apple briefly removed Telegram from the App Store…",
"textLength": 2511,
"hashtags": [],
"mentions": [],
"outboundLinks": ["https://telegram.org/safety"],
"views": 3610000,
"viewsLabel": "3.61M",
"postedAt": "2026-08-04T15:20:04+00:00",
"authorSignature": "Pavel Durov",
"photoUrls": [],
"videoUrl": null,
"linkPreviewTitle": "Telegram Safety Overview",
"linkPreviewUrl": "https://telegram.org/safety",
"isForwarded": false,
"isEdited": true,
"channelTitle": "Pavel Durov",
"channelSubscribers": 11000000,
"scrapedAt": "2026-08-28T12:40:11+00:00"
}

Use cases

  • Crypto and Web3 research — Telegram is where that market talks. Track announcement channels and measure reach by view count.
  • Brand and threat monitoring — watch channels for mentions with Must contain text, on a schedule.
  • News aggregation — pull posts from media channels with media URLs attached.
  • Market research in CIS, MENA and South Asia — Telegram is a primary channel in these regions, where other platforms give thin coverage.
  • Archiving — export an entire channel's history to CSV or Excel in one run.

Recommendations

  • Start with maxResults at 20–50 to confirm the shape of the output, then scale up.
  • Prefer Must contain text over Search when you need completeness: Search is fast but returns a single page, while the filter is applied across the full history you fetch.
  • For monitoring, schedule daily with onlyNewResults enabled.
  • Leave the proxy off unless your own network blocks t.me.

FAQ

Which channels work? Any public channel — one with a t.me/<name> address you can open in a browser without joining. Private channels, invite-only channels, groups and bot accounts are not accessible and return a clear error row.

Can it get the full history? Yes. Paging runs back to the channel's very first message. Set Maximum posts per channel high enough and you get the whole archive.

Why does Search return only ~20 posts? That is Telegram's limit, not ours — channel search returns a single page and cannot be paged. For exhaustive results, fetch history and use the Must contain text filter instead.

Are view counts exact? Telegram publishes rounded labels above ~1,000 (3.61M). We return both the parsed number in views and the original label in viewsLabel so you can see the precision you're getting.

Does it get comments, reactions or subscriber lists? No. Telegram's public channel pages don't expose reactions, discussion threads or member lists, so no tool can read them from this surface without an account.

Does one bad channel kill the run? No. Failures are written as a row with an error field and the run continues.


This Actor collects only publicly available data — content any visitor can see without logging in. It does not log in, does not join channels, does not access private channels or groups, and does not collect member lists.

You are responsible for how you use the collected data, including compliance with GDPR and other data-protection laws and with Telegram's terms of service. If you process personal data, make sure you have a valid legal basis.


Support

Found a bug or need another field? Open an issue on the Actor's Issues tab. Maintained by Innovatica.ai.