Telegram Channel Scraper
Pricing
Pay per usage
Go to Apify Store
Telegram Channel Scraper
Pricing
Pay per usage
Rating
5.0
(1)
Developer

D
Maintained by Community
Actor stats
1
Bookmarked
4
Total users
3
Monthly active users
7 days ago
Last modified
Categories
Share
Scraper for Telegram channels via public interface t.me/s/ with residential proxy rotation.
Features
Channel Metadata
- Channel name
- Username (@channel)
- Channel description
- Avatar/photo URL
- Subscriber count
- Numeric channel ID
- Statistics: photos, videos, files, links
Post Data
- Post ID
- Author
- Message text
- Publication date and time
- View count
- Forwards from other channels
- Replies to posts
- Media: photos, videos (URLs)
- Links in text
Input Parameters
{"channels": ["telegram","https://t.me/s/ShrikeNews","shtuchka_intelekt"],"max_posts": 100,"proxy_configuration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]},"rotate_proxy_per_request": true}
Parameters:
- channels (required): Array of Telegram channels to scrape. Accepts:
- Username (e.g.,
"telegram") - Full URL (e.g.,
"https://t.me/ShrikeNews") - Public URL (e.g.,
"https://t.me/s/channel")
- Username (e.g.,
- max_posts (default: 100): Maximum number of posts to scrape per channel
- proxy_configuration (default: RESIDENTIAL): Apify Proxy settings
- By default uses residential proxy
- rotate_proxy_per_request (default: true): Rotate proxy for each request
Output Data
The actor returns an array of channel objects, one for each channel scraped. Each object contains:
- Channel metadata
- Array of posts (
last_posts)
Example output (array with 2 channels):
[{"url": "https://t.me/s/ShrikeNews","channel_username": "ShrikeNews","channel_id": 1505028797,"channel_title": "Shrike News","channel_description": "News that I find interesting...","subscribers": 94500,"photos_count": 12100,"videos_count": 4090,"last_posts": [{"channel": "ShrikeNews","post_id": "26982","author": "Shrike News","text": "Don't get confused...","datetime": "2025-12-03T19:25:46+00:00","views": 39900,"photos": ["https://cdn4.telesco.pe/file/..."],"links": ["https://t.me/ShrikeNews/26981"]}]},{"url": "https://t.me/s/telegram","channel_username": "telegram","channel_id": 1234567890,"channel_title": "Telegram","subscribers": 500000,"last_posts": [...]}]
Memory Settings
Recommended: 128 MB
The actor is optimized for minimal memory usage. When running via CLI or API use:
$apify run --memory-mbytes=128
Usage
Via Apify Console
- Open the actor in Apify Console
- Enter channel list in
channelsfield (e.g.,["telegram", "ShrikeNews"]) - Configure other parameters as needed (residential proxy enabled by default)
- Click Start
Via CLI
# Run locallyapify run --memory-mbytes=128# Run on Apify platformapify pushapify call <ACTOR_ID> --memory-mbytes=128
Via API
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run_input = {"channels": ["ShrikeNews", "telegram", "https://t.me/s/shtuchka_intelekt"],"max_posts": 50}run = client.actor('<ACTOR_ID>').call(run_input=run_input,memory_mbytes=128)# Get resultsdataset = client.dataset(run["defaultDatasetId"])items = dataset.list_items().items
Key Features
- ✅ Residential proxies by default - bypasses blocking
- ✅ Proxy rotation - new IP for each request
- ✅ Realistic headers - mimics real browser
- ✅ Complete data extraction - all available content
- ✅ Low memory footprint - runs on 128 MB
- ✅ Numeric channel ID extraction - extracts real Telegram channel ID
Limitations
- Scrapes only public channels
- Post limit determined by
max_postsparameter - Requires Apify Residential Proxy for stable operation