Telegram Channel Scraper - No Login, No API Key, Messages avatar

Telegram Channel Scraper - No Login, No API Key, Messages

Pricing

Pay per event

Go to Apify Store
Telegram Channel Scraper - No Login, No API Key, Messages

Telegram Channel Scraper - No Login, No API Key, Messages

Scrape any public Telegram channel with no login and no API key — get every post, view count, media, link and timestamp in clean JSON or Excel. No phone, no account, no token needed. Built for OSINT, market research and competitor tracking. Pay only for what you scrape.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Renzo Madueno

Renzo Madueno

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Telegram Channel Scraper - Messages, Views, Media, No API Key

Scrape public Telegram channels at scale — full message text, view counts, post dates, media (photos, videos, documents, stickers), outbound links, hashtags, link previews, forwards and replies, plus channel metadata (subscriber count, description, photo).

No API key. No login. No phone number. No MTProto. This actor reads Telegram's own public web preview, so setup is zero — just give it a channel username.


Why this scraper

Most Telegram scrapers force you through api_id / api_hash registration, a logged-in phone session, or flaky MTProto libraries that get your account banned. This one doesn't touch any of that. It pulls the public channel feed that Telegram already serves to the open web at t.me/s/{channel}, so it's:

  • Plug and play — paste a channel name, hit run. No credentials, ever.
  • Safe — no account to ban; it never logs in.
  • Cheap & fast — pure HTTP (no headless browser), so runs cost cents.
  • Rich — every field Telegram exposes publicly, normalized into clean JSON.
  • Robust — paginates backwards through history, deduplicates by message id, reports private/nonexistent channels instead of crashing.

Input

{
"channels": ["durov", "telegram"],
"maxMessages": 200,
"searchKeyword": "",
"dateFrom": "2026-01-01",
"dateTo": "",
"includeChannelMetadata": true
}
FieldTypeDescription
channelsarrayChannel usernames or URLs. Accepts durov, @durov, or https://t.me/durov.
startUrlsarrayAlternative way to pass t.me URLs (merged with channels).
maxMessagesintegerMax messages per channel (paginates back through history). Default 100.
searchKeywordstringOptional. Keep only messages whose text/hashtags contain this keyword.
dateFrom / dateTostringOptional ISO dates (e.g. 2026-01-01) to bound the time range. Scraping stops early once it pages past dateFrom.
includeChannelMetadatabooleanEmit a channel-level record (title, description, subscribers, photo). Default true.
proxyConfigurationobjectOptional. Public pages work without a proxy; enable for very large jobs.

Output

A channel record (one per channel, when metadata is enabled):

{
"_type": "channel",
"channel": "durov",
"title": "Pavel Durov",
"username": "durov",
"description": "Founder of Telegram.",
"photo": "https://cdn4.telesco.pe/file/...jpg",
"subscribersLabel": "11M",
"subscriberCount": 11000000,
"counters": { "subscribers": "11M", "photos": "99", "videos": "45", "links": "189" }
}

A message record (one per post):

{
"_type": "message",
"channel": "durov",
"messageId": 505,
"url": "https://t.me/durov/505",
"text": "🫴 TON is #1 in annual staking rewards among the 50 largest cryptocurrencies. And that's on top of the coin's price growth — which doubled over the past week.",
"date": "2026-05-08T17:41:53+00:00",
"viewCount": 3770000,
"viewsLabel": "3.77M",
"author": "Pavel Durov",
"hasMedia": true,
"media": [
{ "type": "photo", "url": "https://cdn4.telesco.pe/file/...jpg", "link": "https://t.me/durov/505" }
],
"links": null,
"hashtags": null,
"linkPreview": {
"url": "https://telegram.org/blog/...",
"siteName": "Telegram",
"title": "Android Redesign, Group Ownership Transfer, Gift Crafting...",
"description": "This update adds the biggest interface update...",
"image": "https://cdn4.telesco.pe/file/...jpg"
},
"forwardedFrom": null,
"replyTo": null,
"isEdited": false
}

Media types captured: photo, video (with thumbnail + duration), voice, document (title + size), sticker. View counts are returned both as the raw label ("3.77M") and a parsed integer (3770000).


Use cases

  • OSINT & research — archive and search public channel history, track narratives over time.
  • Crypto monitoring — watch token/project announcement channels, capture views and engagement signals.
  • News & media monitoring — pull breaking-news channels into your own dashboards.
  • Sentiment & trend analysis — feed clean message text into NLP pipelines.
  • Brand & competitor tracking — monitor what channels post about you or your competitors.
  • Dataset building — collect labeled, timestamped, view-weighted message corpora.

How pagination works

The actor starts at the channel's latest posts and walks backwards using Telegram's own ?before={message_id} parameter, deduplicating by message id, until it reaches maxMessages (or dateFrom, or the start of the channel).

Errors & reliability

  • Private, deleted, or nonexistent channels are reported, not crashed — details land in the FAILURES key of the run's key-value store.
  • If no channel yields any data, the run fails loudly (so you never silently pay for an empty dataset).
  • Messages are deduplicated, so reruns and overlapping pages won't double-count.

Pricing (Pay Per Event)

  • Actor start: $0.005 per run
  • Per message scraped: $0.002

HTTP-only means runs are cheap and predictable — you pay for data, not for a browser idling.

Notes

This actor only reads publicly available channel content that Telegram serves to anyone on the open web. It cannot access private channels, groups, or any content behind login. Respect Telegram's Terms of Service and applicable laws in your jurisdiction.


Frequently asked questions

Can I scrape a Telegram channel without an API key or login? Yes. This Telegram channel scraper needs no API key, no api_id / api_hash, no phone number, no login and no MTProto session. It reads Telegram's public web preview at t.me/s/{channel}, so setup is zero. Just paste a channel username and run.

How do I export Telegram channel messages to JSON, CSV or Excel? Every message is normalized into clean JSON, and Apify lets you export the whole dataset to JSON, CSV, Excel or via API in one click. Each record includes message text, view counts, post dates, media URLs, links, hashtags, forwards and replies.

Can I scrape Telegram message view counts? Yes. Each post returns its view count both as the raw label (for example 3.77M) and as a parsed integer (3770000), so you can rank posts by reach and measure engagement over time.

Can I scrape Telegram media like photos, videos and documents? Yes. The scraper captures photos, videos (with thumbnail and duration), voice notes, documents (with title and size) and stickers, returning direct media URLs for each post.

How do I scrape a Telegram channel by date range? Set dateFrom and dateTo to ISO dates such as 2026-01-01. The scraper paginates backwards through channel history and stops once it pages past your start date, so you only collect the window you need.

Will scraping a public Telegram channel get my account banned? No. There is no account to ban because the scraper never logs in. It only reads the public channel feed that Telegram already serves to anyone on the open web.

Can I scrape multiple Telegram channels at once? Yes. Pass an array of usernames or t.me URLs in channels and the actor scrapes them all in a single run, emitting one metadata record and many message records per channel.

How much does the Telegram channel scraper cost? Pricing is pay-per-event: $0.005 per run start plus $0.002 per message scraped. Because it is HTTP-only with no headless browser, runs are cheap and predictable.