Telegram Channel Scraper: Posts, Views and Reactions
This Actor returns posts from public Telegram channels with full text, date, views, reactions, media, links and forwards, plus optional channel details such as subscriber count. It is for analysts, marketers and researchers who monitor Telegram channels without a Telegram account or phone number.
Main price: $0.75 to $1.50 per 1,000 posts, depending on your Apify plan.
What you can do with it
- Monitor news, trading and crypto channels on a schedule.
- Track what channels say about a keyword with Telegram's in-channel search.
- Find the posts with the most views and reactions in a niche.
- Check subscribers and engagement before buying an ad in a channel.
What you get
Results come as rows in an Apify dataset, which you can export as JSON, CSV or Excel or read over the API. These are the main fields:
| Field | Example | Meaning |
|---|---|---|
channelUsername, postId | durov, 552 | Channel and post number |
url | https://t.me/durov/552 | Link to the post |
date | 2026-10-11T14:52:40+00:00 | Publish time |
text | Designers x AI... | Post text |
views | 997000 | View count |
reactions, totalReactions | [{ emoji, count }], 22810 | Reactions by emoji and in total |
channelSubscribers | 10400000 | Subscribers, when channel info is on |
Pricing
This Actor is pay per event. Apify plan tiers set the price: the column for your Apify plan is what you pay, and higher plans pay less per result. Prices are per 1,000 events.
| Event | What is charged | Free | Starter | Scale | Business |
|---|---|---|---|---|---|
| Post | One Telegram post saved to your results. | $1.50 | $1.00 | $0.85 | $0.75 |
Run start fee: $0.05 per 1,000 runs. Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). Prices come from the Apify Store and can change; the Actor's Apify page always shows the current ones. Platform usage is billed through your Apify account.
Run it from code
Create an API token in Apify Console (Settings, API and Integrations) and replace YOUR_APIFY_TOKEN. This call starts a run with a small input and returns the rows when it finishes. Synchronous calls suit small inputs; for big jobs, start a run and read the dataset later.
curl
curl -X POST "https://api.apify.com/v2/acts/apisamurai~telegram-channel-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channels": [
"telegram",
"durov"
],
"maxPostsPerChannel": 50
}'Python (pip install apify-client)
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"channels": ["telegram", "durov"],
"maxPostsPerChannel": 50,
}
# Start the Actor and wait for it to finish.
run = client.actor("apisamurai/telegram-channel-scraper").call(run_input=run_input)
# Read the results from the run's default dataset.
items = client.dataset(run.default_dataset_id).list_items().items
for item in items:
print(item)JavaScript (npm install apify-client)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const input = {
channels: ['telegram', 'durov'],
maxPostsPerChannel: 50,
};
// Start the Actor and wait for it to finish.
const run = await client.actor('apisamurai/telegram-channel-scraper').call(input);
// Read the results from the run's default dataset.
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Client calls follow the Python and JavaScript client docs. The full input reference is on the Actor's Apify page.
FAQ
- Do I need a Telegram account?
- No. The Actor reads the public web preview Telegram publishes for public channels.
- Which channels work?
- Only channels with a public web preview at t.me/s/channel. Private channels, groups and bots are skipped with a warning.
- Does it collect member lists or phone numbers?
- No. It reads only public channel posts.
- How do I stop paying for old posts?
- Set Only posts after. The run stops at that date, which suits daily schedules. You can also set a spending limit per run.
- Where do I report a problem?
- Email hello@apisamurai.com, or open an issue on the Actor's Apify page.