Telegram Channel Scraper avatar

Telegram Channel Scraper

Pricing

from $1.00 / 1,000 posts

Go to Apify Store
Telegram Channel Scraper

Telegram Channel Scraper

Posts from any public Telegram channel, with views, media, links and polls, without a Telegram account or phone number. Only-new mode for schedules. Half a cent per channel, a tenth of a cent per post.

Pricing

from $1.00 / 1,000 posts

Rating

0.0

(0)

Developer

Asgard Labs

Asgard Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Telegram Channel Scraper – posts, views, media, links (no login)

Give it public Telegram channel names or links. Get the posts: text, date, view count, photos, videos, documents, link previews, polls, forwards, replies, links, mentions and hashtags, plus the channel's title, description and subscriber count. Walk back as far as you like, 20 posts per request.

Run it again with only new on and you get only posts newer than last time. Schedule it hourly or daily and you have a channel monitor. Telegram's own in-channel search is available too.

No phone number, no API key, no bot token, no login, no proxies. It reads the public web preview every public channel has.

Telegram channel data per post

  • id, channel, channelTitle, subscribers, url, date, views, author, edited, isService
  • text (plain) and, with includeHtml, the original HTML
  • media – photos, videos, videoThumbs, documents, hasVideo, hasRoundVideo, hasVoice, hasSticker
  • linkPreview – url, siteName, title, description, image
  • poll – question, options with percentages, voters
  • forwardedFrom, replyTo, links, mentions, hashtags
  • isNew – newer than the last run's marker

The run's key-value store also gets CHANNELS (title, description, photo, subscribers, counters per channel) and SUMMARY.

Use cases

  • News and market monitoring.
  • Brand and crypto mentions.
  • Competitor channels.
  • Research datasets.
  • Feeding posts into Slack or a spreadsheet.

Input

FieldDefaultMeaning
channelsUsernames, @handles or t.me links. Case does not matter; the same channel written several ways counts once. Private invite links (t.me/+…, joinchat) are rejected with a clear reason.
maxPostsPerChannel100How far back to walk. Up to 20,000.
onlyNewfalseOnly posts newer than the last run. One marker per channel in a key-value store.
minDateStop at this date, e.g. 2026-09-01.
queryTelegram's own search inside the channel.
keywordsKeep only posts whose text contains any of these.
includeHtmlfalseKeep the message HTML.
timeoutSecs300Time budget per channel.
concurrency4Channels read in parallel.
stateStoreNametelegram-channel-stateWhere the markers live. Use a different name for a separate watchlist.

Output example

{ "id": 3205, "channel": "bloomberg", "channelTitle": "Bloomberg", "subscribers": 172000, "url": "https://t.me/bloomberg/3205",
"date": "2025-12-10T08:49:12+00:00", "views": 79600, "text": "…", "author": null,
"media": { "photos": ["https://cdn5.telesco.pe/file/…jpg"], "videos": [], "videoThumbs": [], "documents": [], "hasVideo": false, "hasRoundVideo": false, "hasVoice": false, "hasSticker": false, "isUnsupported": false },
"linkPreview": { "url": "https://www.bloomberg.com/…", "siteName": "Bloomberg", "title": "…", "description": "…", "image": "…" },
"poll": null, "forwardedFrom": null, "replyTo": null, "links": ["https://…"], "mentions": ["@bloomberg"], "hashtags": ["#markets"], "edited": false, "isService": false, "isNew": true }

How to use

  1. Paste your channel names or t.me links, one per line into the input form. The example input is ready to run as is.
  2. Click Start. Rows appear in the Output tab as they are found.
  3. Download the table as CSV, JSON or Excel, or read it through the API.
  4. For monitoring, create a Schedule and switch on onlyNew: later runs return only what changed, and only that is charged.

Pricing

Pay per event: channel $0.005 per channel that answered, message $0.001 per post in the output. 1,000 posts from 10 channels is about $1.05. Private, deleted or preview-disabled channels are reported and free.

Good to know

  • Public channels only. Groups and private channels have no web preview. Comments and reactions are not in the preview either.
  • Media links point to Telegram's CDN and can expire; download promptly if you need the files.
  • Stopping at your spend limit is safe: the "last seen" marker is not moved by a stopped run, so the next run picks up everything again rather than skipping posts.
  • Errors are in plain words: channel unavailable: private, deleted, or preview disabled, timeout, ENOTFOUND (domain not found).

Use from code or an AI agent

Every run can be started and read through the Apify API, the JavaScript and Python clients, or an AI agent with tool access. Open the API tab on this page for ready-made snippets. Pricing is per event, so an agent pays only for what it receives.

FAQ

Does it work on private channels or groups? No. Public channels with the web preview enabled only. Invite links are reported as unsupported and are not charged.

Are comments and reactions included? No. The web preview does not expose them. Views, media, links, polls, forwards and replies are.

How far back can it go? As far as the channel's history and your maxPostsPerChannel, up to 20,000 posts per channel per run.

Will Telegram block it? The preview is public and needs no account, so there is nothing to ban. Bursts are rate-limited; four channels in parallel is safe.

Can I get only new posts each run? Yes. Switch on onlyNew; the last post id per channel is remembered in your account.