Telegram Channel Scraper (No Login) avatar

Telegram Channel Scraper (No Login)

Pricing

Pay per event

Go to Apify Store
Telegram Channel Scraper (No Login)

Telegram Channel Scraper (No Login)

Scrape public Telegram channel messages without API credentials. Extracts text, media, reactions, views, and channel metadata from t.me preview pages.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

16

Total users

3

Monthly active users

14 hours ago

Last modified

Share

A Telegram channel scraper that extracts public channel messages without API credentials. No API key, no phone number, no Telegram account, and no tdlib/Bot API setup needed.

Extract Telegram messages, post views, reactions, media URLs, forwarded-from info, and channel metadata from t.me/s/{channel} server-rendered preview pages. Export the results as JSON, CSV, or Excel.

What You Can Scrape From Telegram Channels

  • No credentials required -- works on any public Telegram channel via server-rendered HTML
  • Full message data -- text, HTML, date, view count, author signature, direct link
  • Media extraction -- photo URLs and video URLs from each message
  • Reactions -- emoji reactions with counts (e.g., thumbs_up 1.26K)
  • Forwarded messages -- source channel name and URL for forwarded posts
  • Channel metadata -- title, description, subscriber count, profile photo URL
  • Pagination -- automatically loads older messages page by page
  • Multi-channel -- scrape multiple channels in a single run

Input

FieldTypeDefaultDescription
channelUsernamesstring[]["durov"]Channel usernames to scrape (without @)
maxItemsinteger50Max messages per channel (0 = no limit)
includeChannelInfobooleantrueInclude channel metadata in each record

Output Fields

Each record contains:

FieldDescription
channelUsernameChannel username (e.g., durov)
channelTitleChannel display title
channelDescriptionChannel description text
channelPhotoUrlChannel profile photo URL
channelSubscribersSubscriber count (e.g., 10.2M)
messageIdNumeric message ID
messageDateISO 8601 date (e.g., 2026-04-09T14:09:27+00:00)
messageTextPlain text content
messageHtmlHTML-formatted content
messageViewsView count (e.g., 3.69M)
messageAuthorPost author signature (if enabled on channel)
messageLinkDirect t.me link to the message
messageMediaTypephoto, video, or none
messageMediaUrlURL of attached media
messageReactionsArray of reaction strings (e.g., ["thumbs_up 1.26K", "heart 106"])
messageForwardedFromSource channel name (if forwarded)
messageForwardedFromUrlOriginal message URL (if forwarded)

Example Output

{
"channelUsername": "durov",
"channelTitle": "Pavel Durov",
"channelSubscribers": "10.2M",
"messageId": 482,
"messageDate": "2026-04-09T14:09:27+00:00",
"messageText": "Telegram has reached a milestone...",
"messageViews": "2.25M",
"messageAuthor": "Pavel Durov",
"messageLink": "https://t.me/durov/482",
"messageMediaType": "none",
"messageMediaUrl": "",
"messageReactions": ["thumbs_up 3.77K", "heart 380"],
"messageForwardedFrom": "",
"messageForwardedFromUrl": ""
}

How It Works

  1. Fetches https://t.me/s/{channel} which returns the latest ~20 messages as server-rendered HTML
  2. Extracts message data using CSS selectors (Cheerio)
  3. Paginates backwards using ?before={message_id} to load older messages
  4. Stops when maxItems is reached or no more messages are available

Limitations

  • Public channels only -- private channels and groups are not accessible via t.me/s/
  • View counts -- displayed as formatted strings (e.g., "3.69M"), not raw numbers
  • Media -- extracts URLs but does not download media files
  • Reactions -- returned as formatted strings, not structured objects (per Apify dataset schema rules)
  • Rate limiting -- t.me rate-limits by IP; for large-scale scraping (1000+ messages), consider using proxy rotation

FAQ

How do I scrape a Telegram channel without an API key or phone number? Point this actor at any public channel username. It reads the t.me/s/{channel} preview page directly, so there is no Bot API token, tdlib build, or phone-number login involved.

Can I export Telegram channel messages to CSV or Excel? Yes. Every run produces a dataset you can download as JSON, CSV, or Excel from the Apify run page or pull through the API.

Does this work on private Telegram channels or groups? No. Only public channels with a t.me/s/ preview are accessible. Private channels and groups are not exposed without a logged-in account.

Can I scrape views, reactions, and forwarded messages from a Telegram channel? Yes. Each message record includes the view count, reaction strings with counts, and the source channel name and URL for forwarded posts.

Cost

Pay-per-event pricing: $0.10 per actor start + $0.001 per message scraped.

Need More Features?

If you need additional fields, date range filtering, or a custom scraper for another platform, file an issue or get in touch. We customize scrapers to suit your needs.