Skip to content

Telegram Channel Scraper

Try for free

Scrape public Telegram channels: the profile, subscriber count, and bio, plus posts with their date, views, text, and links. Keep a set number of recent posts, or only posts since a date.

✈️ Telegram Channel Scraper

Collect public Telegram channel profiles and posts from the web preview. No Telegram account, no phone number, no API key. Give it channel names or t.me links and get one row per post, with subscriber count, bio, views, text, media links, and the post URL.

✨ Why use Telegram Channel Scraper?

  • 🔓 No account needed — it reads the public channel preview only, so there is no phone number, code, or API id.
  • 📰 Posts plus profile — every post row repeats the channel profile: name, subscribers, verified flag, and bio.
  • 👁️ Real view counts — 1.28M becomes 1280000, so you can sort and sum the numbers.
  • 📅 Date windows — keep posts since a date, or from the last N days.
  • 👤 Profile-only mode — switch off post collection to save just the channel profile.
  • 💸 Cheap — $3 per 1,000 rows, with datacenter proxy built in.

🎯 Use cases

  • 📣 Channel monitoring — track what a public channel posted over the last few days.
  • 📈 Audience research — save subscriber counts and bios for a list of channels.
  • 🗂️ Archiving — keep announcements with the view count, text, and link shown on the public page.
  • 🕵️ Competitor and news tracking — watch rival or news channels without a Telegram account.
  • 🔗 Link collection — gather the article previews and links channels share.

🚀 How to use

  1. Add one or more Channels: a name, @name, or a t.me link (up to 50).
  2. Set Maximum posts per channel (default 10, no upper limit).
  3. Optional: set Posts on or after or Posts from the last N days, or turn off Collect posts for profiles only.
  4. Click Start.
  5. Open the dataset and export it as JSON, CSV, or Excel, or read it via the API.

📥 Input

FieldTypeWhat it does
profilesarrayPublic channel names or links, such as telegram, @telegram, or https://t.me/telegram. Up to 50. Required.
maxMessagesintegerNewest posts to save per channel. Default 10, minimum 1.
collectMessagesbooleanSave posts. Turn off to save only the profile, subscriber count, and bio.
oldestMessageDatestringKeep posts from this UTC date on (YYYY-MM-DD).
scrapeLastNDaysintegerKeep posts from the last N days. 1 is today only. If both date fields are set, the later cutoff wins.
proxyConfigurationobjectDatacenter proxy by default.

Recent posts:

{ "profiles": ["telegram"], "maxMessages": 10, "collectMessages": true }

Profile only:

{ "profiles": ["https://t.me/telegram"], "collectMessages": false }

Posts since a date:

{ "profiles": ["telegram"], "maxMessages": 20, "oldestMessageDate": "2026-08-01" }

📤 Output

Post rows repeat the channel profile on every post. Profile-only rows set message to null. A name that is not a public channel (unknown, a user account or a private group) saves no row and is not charged; it is listed in the status message and under failedInputs in the OUTPUT record, and the run does not fail.

FieldDescription
username, fullName, verified, bio, avatarUrlChannel profile.
followersSubscriber count as a number.
urlChannel URL.
message.fulldate, message.datePost time (ISO, UTC) and the short date shown on the page.
message.viewsView count, with K and M expanded.
message.descriptionPost text.
message.image, message.videoDirect media file URLs (these expire).
message.previewLink preview with link and text, when the post has one.
message.linkPermanent post link.
message.reply, message.pollReply and poll text when present.

Real item from a test run (trimmed):

{
  "username": "@telegram",
  "fullName": "Telegram News",
  "avatarUrl": "https://cdn1.telesco.pe/file/T4pBs71Q...",
  "followers": 9340000,
  "verified": true,
  "bio": "The official Telegram on Telegram. Much recursion. Very Telegram. Wow.",
  "url": "https://telegram.me/s/telegram",
  "message": {
    "fulldate": "2026-08-26T19:11:05.000Z",
    "date": "August 26",
    "views": 1020000,
    "image": "",
    "video": "https://cdn1.telesco.pe/file/566183f75b.mp4?token=...",
    "description": "Welcome Messages. Group and channel owners can now add messages that appear when a new member joins...",
    "preview": null,
    "link": "https://telegram.me/s/telegram/455",
    "reply": "",
    "poll": ""
  }
}

The Posts view in the console is a table of channel, subscribers, date, views, text, and links.

💰 Pricing

$3 per 1,000 rows, which is $0.003 per row. A post is one row, a profile-only run is one row per channel, and an unknown channel is one row.

Worked example: 11 posts cost $0.033 in result fees. Compute and datacenter proxy traffic are billed separately at standard rates; our measured total for an 11-post run was about $0.035.

❓ FAQ

Is it legal to scrape Telegram channels? The actor reads only the public web preview of public channels. You are responsible for using the data in line with Telegram's terms and the privacy rules that apply to you.

Do I need to log in to Telegram or use a proxy? No. It does not ask for a phone number, code, or API id. Datacenter proxy is built in.

Can it read private groups or my own chats? No. Those need your Telegram session, which this actor never uses.

Why is a channel empty? The name may be wrong, the channel may hide its history, or your date window may exclude every post. Turn off post collection to save the profile anyway.

Do the media links keep working? Photo and video URLs expire. Copy the files soon after the run if you need them. Post links and channel links stay valid.

Can I schedule it or use the API? Yes. Start runs and read the dataset through the API, or use schedules in the console.

⚠️ Limits

  • Public preview pages only. About 20 posts are shown per page, and older pages are loaded until the cap or the date cutoff.
  • At most 50 channels per run. A channel's public page history is the real ceiling: older posts that Telegram no longer shows on the web preview cannot be collected.
  • A date window that matches nothing saves zero rows, and the run still succeeds.
  • Deep history loads about 20 posts per page. Raise the run timeout if you want a very large number of posts or use a wide date window on a busy channel.
  • Media file links are temporary CDN links.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.