Telegram Channel Scraper: posts, views, reactions and media avatar

Telegram Channel Scraper: posts, views, reactions and media

Pricing

from $0.50 / 1,000 posts

Go to Apify Store
Telegram Channel Scraper: posts, views, reactions and media

Telegram Channel Scraper: posts, views, reactions and media

Scrape public Telegram channels: posts with text, links, views, reactions, photos, videos, polls, forwards and replies, by date range or keyword. Channel details with exact subscriber counts. No login, no API keys, no browser.

Pricing

from $0.50 / 1,000 posts

Rating

0.0

(0)

Developer

Spyridon Pikoulas

Spyridon Pikoulas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Telegram Channel Scraper

Scrape public Telegram channels from their web preview:

  • Channels: the posts of any public channel, given as a username, @name or t.me link, newest first. Keep only posts between two dates; the run jumps straight to the older date without reading everything after it.
  • Post links: single posts, t.me/durov/528.
  • Search: posts matching a keyword, from Telegram's own search within each channel.
  • Channel details: title, description, exact subscriber count, photo, video, file and link counts, avatar and verified badge.

Every post comes with its text, links, hashtags, views, reactions with their counts, author signature, forwarded-from and reply-to, and its media: photos, videos, round videos, voice messages, GIFs, files, stickers, polls with their results, and link previews.

It needs no login, no phone number and no API keys, and no browser, so it is fast: 500 posts from one channel took 10 seconds. It costs $0.50 per 1,000 posts, and $1 per 1,000 channels.

What people use it for

  • News and OSINT monitoring: new posts from a list of channels, day by day.
  • Crypto and market signals: announcements and calls from trading and project channels, with their reach.
  • AI and LLM pipelines: clean post text with its links, for summaries, RAG and sentiment.
  • Lead generation and influencer research: channels in a niche with their subscriber counts.
  • Engagement analysis: which posts get the most views and reactions.

How to scrape Telegram channels

  1. Click Try for free; Apify's free plan covers a first run.
  2. Enter Channels or posts (durov, @telegram or a t.me link), and how many posts you want per channel.
  3. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.

An input with more options:

{
"channels": ["durov", "@telegram", "https://t.me/apod_telegram", "https://t.me/durov/528"],
"maxPostsPerChannel": 100,
"postedAfter": "2026-01-01",
"postedBefore": "2026-06-30",
"searchQuery": "",
"includeChannelInfo": true
}

Output

A post:

{
"type": "post",
"channel": "apod_telegram",
"channelTitle": "NASA's Astronomy Picture of the Day",
"id": 17112,
"url": "https://t.me/apod_telegram/17112",
"date": "2026-09-26T04:29:58+00:00",
"edited": false,
"text": "2026 September 26\n\nMirrored Meteor and Milky Way\nImage Credit & Copyright: Jeff Dai (TWAN)\n\nOn August 15, this perseid meteor streaked through night skies over …",
"links": [
{"text": "2026 September 26", "url": "https://apod.nasa.gov/apod/ap260926.html"},
{"text": "Jeff Dai", "url": "https://twanight.org/profile/jeff-dai/"}
],
"hashtags": [],
"views": 2010,
"reactions": [
{"emoji": "❤", "count": 47},
{"emoji": "👍", "count": 3},
{"emoji": "🔥", "count": 2}
],
"reactionsTotal": 54,
"author": null,
"forwardedFrom": null,
"replyTo": null,
"viaBot": null,
"media": [
{"type": "photo", "url": "https://cdn4.telesco.pe/file/Wh3TENe-Zb69….jpg", "postUrl": "https://t.me/apod_telegram/17112"}
],
"poll": null,
"linkPreview": null,
"buttons": []
}

A video in media has its url, thumbnail and duration in seconds; round videos and voice messages too. A forward has forwardedFrom: {"name", "url", "author"}, a reply replyTo: {"url", "channel", "id", "author", "text"}, and a poll its question, type, options with percentages, and voters.

A channel:

{
"type": "channel",
"username": "apod_telegram",
"url": "https://t.me/apod_telegram",
"title": "NASA's Astronomy Picture of the Day",
"description": "To find and view past APODs, tap here:\nt.me/apodQA/3\n\nNASA's APOD presence in Telegram: …",
"subscribers": 35201,
"photos": 11100,
"videos": 409,
"files": 5,
"links": 11500,
"avatarUrl": "https://cdn4.telesco.pe/file/N3IFfJvbZAK5….jpg",
"verified": true,
"hasPreview": true
}

Use it as an API

One call runs it and returns the results as JSON (for runs under 5 minutes; longer ones start a run and read its dataset). Apify's Python and JavaScript clients, and its Make, Zapier and n8n integrations, work the same way.

curl -X POST "https://api.apify.com/v2/acts/pikoulas~telegram/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channels": ["durov", "telegram"], "maxPostsPerChannel": 20}'

AI agents can call it as a tool through Apify's MCP server: https://mcp.apify.com?tools=pikoulas/telegram.

How much does it cost to scrape Telegram channels?

You pay $0.0005 per post, which is $0.50 per 1,000, and $0.001 per channel. Runs that go through Apify's residential proxy also pay its traffic, $0.0012 per 100 KB; a post takes about 1.5 KB. There are no monthly fees.

Good to know

  • Only public channels with a web preview (t.me/s/name) can be read. Groups, private channels and channels Telegram doesn't preview (some are blocked in some countries) are skipped with a warning.
  • Telegram's search gives only the newest 20 or so matches in each channel. For older posts, use the dates instead.
  • views, reaction counts and the media counts are the rounded numbers Telegram shows ("18.9M"); subscribers is exact.
  • Custom emoji reactions have no character, only their customEmojiId. Paid star reactions are {"emoji": "⭐", "paid": true}.
  • Videos too big for the web preview have tooBig: true and a thumbnail, but no url. Files have their name and size, but no download link.

FAQ

It collects only what Telegram shows publicly, without logging in. Scraping public data is generally legal, but personal data is protected by laws such as the GDPR and the CCPA, and Telegram's terms may limit how you use what you collect. If you're unsure, ask a lawyer; Apify's Is web scraping legal? is a good start.

Something missing or not working?

Open an issue on the Issues tab with the input you used, or ask there for a field you need.