Telegram Channel Scraper avatar

Telegram Channel Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
Telegram Channel Scraper

Telegram Channel Scraper

Scrapes public Telegram channels: posts with text, media, views, reactions and link previews, plus channel stats — no login or API key required.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

Anyx Solutions

Anyx Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

banner

Telegram Channel Scraper

Turn any public Telegram channel into a clean dataset of posts, media, views, and reactions — no login, no API key.

The Telegram Channel Scraper reads the public web preview of Telegram channels and extracts every post: text (plain and HTML), publish date, view count, reactions, images, videos, documents, polls, link previews, forwards and replies. It also captures the channel itself — title, description, photo, verified badge and subscriber count. Built for social-listening and OSINT teams, researchers, marketers, news monitors, and anyone tracking what a channel publishes without wiring up the Telegram API.

⚡ Quick start

{
"startUrls": [
{ "url": "https://t.me/s/telegram" },
{ "url": "https://t.me/telegram/435" }
],
"channels": ["durov"],
"maxItems": 5
}

🧩 Input

FieldTypeRequiredDefaultDescription
startUrlsarrayone of startUrls/channelsTelegram URLs to scrape. A channel (https://t.me/telegram or https://t.me/s/telegram) returns the channel info plus its newest posts, walking back through older pages; a post (https://t.me/telegram/435) returns that single post.
channelsarrayone of startUrls/channelsChannel usernames to scrape in addition to Start URLs, with or without @.
maxItemsintegerno5Maximum dataset items per start URL or channel. The channel-info row counts as one item when enabled.
includeChannelInfobooleannotruePush one channel item (title, description, photo, subscribers, media counters) before the channel's posts.
proxyConfigurationobjectno{ "useApifyProxy": false }Apify proxy settings. Telegram's public preview works without a proxy.

Only channels with a public web preview can be scraped. Private channels, groups, and user accounts have no preview and are skipped with a warning.

📤 Output

The dataset mixes two item types, distinguished by itemType: one channel row per channel (when enabled), followed by its post rows, newest first.

Fields — post

FieldTypeDescription
itemTypestringAlways post.
idnumberMessage id inside the channel.
urlstringPublic post URL, e.g. https://t.me/telegram/435.
channelUsernamestringChannel username without @.
channelTitlestring | nullChannel display name.
channelUrlstringChannel URL.
authorstring | nullSigned author name, when the channel shows post signatures.
textstring | nullMessage text as plain text, line breaks preserved.
textHtmlstring | nullMessage text with Telegram's formatting (bold, links, emoji).
datestring | nullPublish time, ISO-8601 (UTC).
viewsnumber | nullView count.
reactionsarray{ emoji, emojiId, paid, count } per reaction. emoji is the Unicode glyph; custom emoji expose emojiId; Telegram Stars reactions have paid: true.
linksstring[]Outbound links found in the message text.
imagesstring[]Photo URLs.
videosarray{ url, thumbnail, duration } per video.
documentsarray{ title, extra } per attached file.
pollobject | null{ question, options: [{ text, percent }] }.
linkPreviewobject | null{ url, siteName, title, description, image } of the link preview card.
forwardedFromobject | null{ name, url } of the original channel for forwarded posts.
replyToobject | null{ url, author, text } of the quoted post for replies.

Fields — channel

FieldTypeDescription
itemTypestringAlways channel.
usernamestringChannel username without @.
urlstringChannel URL.
titlestring | nullChannel display name.
descriptionstring | nullChannel description.
photostring | nullChannel photo URL.
verifiedbooleanWhether the channel carries Telegram's verified badge.
subscribersnumber | nullSubscriber count.
photosnumber | nullNumber of photos posted.
videosnumber | nullNumber of videos posted.
filesnumber | nullNumber of files posted.
linksnumber | nullNumber of links posted.

💡 Use cases

  • Social listening & brand monitoring — track what channels in your niche publish and how audiences react.
  • News and OSINT monitoring — archive breaking-news, government, and community channels with timestamps and view counts.
  • Content research — find the best-performing post formats in a vertical by views and reactions.
  • Lead and partner discovery — pull subscriber counts and descriptions for channel prospecting.
  • Datasets for analysis — feed post text and engagement into sentiment, trend, or ML pipelines.

❓ FAQ

  • Do I need a Telegram account or API key? No. The scraper reads the public web preview that Telegram serves for every public channel.
  • Why does a channel return no posts? Only channels with a public preview are supported. Private channels, groups, bots and personal accounts have no preview and are skipped with a warning in the log.
  • How far back can it go? As far as the channel history reaches — set maxItems to control how many pages of 20 posts are walked.
  • Are comments included? No. Comments live in a separate discussion group and are not part of the channel preview.
  • Can I scrape a single post? Yes — pass https://t.me/<channel>/<postId> as a start URL.
  • Do I need a proxy? Not usually. If you see empty pages under heavy usage, enable Apify Proxy in proxyConfiguration.

🔗 More scrapers by Anyx

🤝 Anyx Solutions

We build custom scrapers and data-extraction pipelines.