Telegram Channel Scraper - No API Key Needed avatar

Telegram Channel Scraper - No API Key Needed

Pricing

from $500.00 / 1,000 1,000 messages extracteds

Go to Apify Store
Telegram Channel Scraper - No API Key Needed

Telegram Channel Scraper - No API Key Needed

Scrape public Telegram channels without API keys or proxies. Extract messages, views, reactions, media URLs, and channel metadata. Perfect for crypto research, brand monitoring, OSINT, and competitive intelligence.

Pricing

from $500.00 / 1,000 1,000 messages extracteds

Rating

0.0

(0)

Developer

Sami

Sami

Maintained by Community

Actor stats

1

Bookmarked

29

Total users

2

Monthly active users

15 days ago

Last modified

Share

Telegram Channel & Group Scraper

Extract messages, reactions, media metadata, and member data from any public Telegram channel or group. No login required for basic scraping. The most reliable Telegram scraper on Apify — zero crashes, zero empty results.

What is Telegram Channel & Group Scraper?

This Apify Actor scrapes public Telegram channels and groups, extracting messages with full metadata including view counts, reactions (emoji + counts), media URLs, forwarded message info, hashtags, mentions, and channel statistics.

It supports two scraping modes:

  • Web Preview (default): Zero-friction, no credentials needed. Uses Telegram's public t.me/s/ endpoint.
  • Telethon API: Full access with your Telegram API credentials — complete message history (10,000+), member lists, and more.

Telegram API alternative — no login required

Looking for a Telegram scraper that works without API credentials? This Actor's default mode (Web Preview) requires zero setup — no API key, no phone number, no login. Just paste channel URLs and get structured data.

For power users who need full message history (10,000+) and member lists, the Telethon API mode provides complete access with your own Telegram API credentials.

Why This Actor vs. Others?

FeatureThis Actortri_angle (1.4 stars)pamnard (1.3 stars)agentx (5.0 stars)
No login neededYesNoNoNo
Reactions dataYesNoNoYes
Media metadataYesPartialNoYes
Error handlingNever crashesFrequent crashesEmpty resultsGood
Messages limit10,000+~100~100500
Member extractionYes (optional)NoNoNo
Date filteringYesNoNoNo
Multi-channelYesLimitedLimitedYes

Quick Start

Step 1: Paste channel URLs

{
"channels": [
"https://t.me/durov",
"t.me/techcrunch",
"coindesk"
]
}

Step 2: Click Run

The actor accepts full URLs, short URLs, or just the channel username. All formats work.

Step 3: Download Results

Export to JSON, CSV, Excel, or connect via API. Each message is an individual row for easy analysis.

Use Cases

  • OSINT & Intelligence: Monitor public channels for threat intelligence, track disinformation, and analyze information operations.
  • Marketing & Competitive Analysis: Analyze competitor community engagement, content strategy, and audience reactions.
  • Crypto & Web3 Research: Track token launches, monitor signal channels, and measure community sentiment across crypto groups.
  • Compliance & Archival: Archive channel history for regulatory requirements, legal discovery, or organizational record-keeping.
  • Academic Research: Collect data for studies on online communities, information spread, and public discourse patterns.
  • Lead Generation: Extract member data from public groups (Telethon mode, GDPR-compliant use only).

Two Scraping Modes

Mode 1: Web Preview (Default — No Login)

Uses Telegram's public web preview at t.me/s/. Perfect for quick data collection without any setup.

  • No credentials needed — works out of the box
  • Public channels only — channels must have web preview enabled
  • Latest ~500 messages — limited by Telegram's web preview endpoint
  • Extracts: text, HTML, views, reactions, media URLs, forwards, replies, links, hashtags, mentions

Mode 2: Telethon API (Full Access)

Uses Telegram's official API via the Telethon library. Unlocks complete channel data.

  • Requires API credentials — api_id + api_hash from my.telegram.org
  • Full message history — up to 10,000+ messages per channel
  • Member extraction — optional, requires appropriate permissions
  • Bot token support — use a Bot Token from @BotFather as an alternative

How to Get API Credentials

  1. Go to my.telegram.org
  2. Log in with your phone number
  3. Create a new application (or use an existing one)
  4. Copy the API ID (number) and API Hash (string)

How to Generate a Session String

Run this Python script locally (one time only):

from telethon.sync import TelegramClient
from telethon.sessions import StringSession
api_id = 12345 # Your API ID
api_hash = "abc123" # Your API Hash
with TelegramClient(StringSession(), api_id, api_hash) as client:
print("Your session string:")
print(client.session.save())

This will prompt you for your phone number and a verification code. Copy the output string and paste it into the actor's sessionString input field.

Using a Bot Token Instead

If you only need to read public channel messages (no member lists), you can use a Bot Token:

  1. Message @BotFather on Telegram
  2. Create a new bot with /newbot
  3. Copy the token and paste it into the botToken input field
  4. Add your bot to the channel as an admin (or the channel must be public)

Input Parameters

ParameterTypeRequiredDefaultDescription
channelsarrayYesTelegram channel URLs or usernames
modestringNoweb_previewweb_preview or telethon_api
maxMessagesPerChannelintegerNo100Max messages per channel (up to 10,000)
extractMediabooleanNotrueInclude media metadata in output
extractReactionsbooleanNotrueInclude reaction counts
extractMemberDatabooleanNofalseExtract member list (Telethon only)
dateFromstringNoOnly messages after this date (ISO format)
dateTostringNoOnly messages before this date (ISO format)
apiIdintegerNoTelegram API ID (Telethon only)
apiHashstringNoTelegram API Hash (Telethon only, secret)
sessionStringstringNoPre-generated session string (Telethon only, secret)
botTokenstringNoBot Token from @BotFather (Telethon only, secret)

Input Example

Web Preview Mode (No Login)

{
"channels": [
"https://t.me/durov",
"coindesk"
],
"mode": "web_preview",
"maxMessagesPerChannel": 200,
"extractMedia": true,
"extractReactions": true,
"dateFrom": "2026-01-01"
}

Telethon API Mode (Full Access)

{
"channels": ["https://t.me/durov"],
"mode": "telethon_api",
"maxMessagesPerChannel": 5000,
"apiId": 12345,
"apiHash": "your_api_hash_here",
"sessionString": "your_session_string_here",
"extractMemberData": false
}

Output Example

Each message is stored as an individual item in the dataset:

{
"id": 350,
"date": "2026-04-05T18:30:00+00:00",
"text": "Today we're launching a new feature...",
"text_html": "Today we're launching a <b>new feature</b>...",
"views": 2100000,
"views_display": "2.1M",
"author": null,
"forwarded_from_name": null,
"forwarded_from_url": null,
"reply_to_message_id": null,
"media_type": "photo",
"media_url": "https://cdn4.telesco.pe/file/...",
"reactions": [
{ "emoji": "\ud83d\udc4d", "count": 42000 },
{ "emoji": "\u2764\ufe0f", "count": 15000 }
],
"reactions_total": 57000,
"links": ["https://telegram.org/blog/new-feature"],
"hashtags": ["#telegram"],
"mentions": null,
"message_url": "https://t.me/durov/350",
"channel_name": "Durov's Channel",
"channel_username": "durov",
"channel_url": "https://t.me/durov",
"channel_subscribers": 10300000,
"channel_verified": true,
"scrape_mode": "web_preview",
"scraped_at": "2026-04-12T15:00:00+00:00"
}

Pricing

This actor uses Pay Per Event pricing.

EventPrice
Actor run started$0.01
Channel scraped (web preview)$0.02 per channel
Channel scraped (Telethon API)$0.05 per channel
1,000 messages extracted$0.50
1,000 members extracted$1.00

Cost Examples

ScenarioCost
5 channels, 100 messages each (web preview)~$0.61
1 channel, 5,000 messages (Telethon)~$2.56
10 channels, 200 messages each (web preview)~$1.21
1 channel, 1,000 messages + members (Telethon)~$1.56

Platform compute costs are billed separately by Apify at standard rates. This actor runs on minimal resources (256MB RAM).

How to Scrape Telegram Channels

Scraping Telegram channels for data analysis, research, or monitoring is straightforward with this actor:

  1. Find the channel: Navigate to the Telegram channel in your browser or app. The URL format is t.me/channelname.
  2. Configure the actor: Paste the channel URL(s) into the input. Choose your scraping mode and set the message limit.
  3. Run the actor: Click "Start" on Apify. The actor handles pagination, rate limiting, and error recovery automatically.
  4. Export your data: Download results as JSON, CSV, or Excel. Or connect via API for automated pipelines.

The actor automatically handles:

  • Rate limiting with exponential backoff
  • Pagination to collect all available messages
  • Private/non-existent channel detection
  • Multiple input formats (URLs, usernames, with/without @)

Integration Examples

Python SDK

from apify_client import ApifyClient
client = ApifyClient("your_api_token")
run = client.actor("zhorex/telegram-channel-scraper").call(run_input={
"channels": ["https://t.me/durov"],
"maxMessagesPerChannel": 100,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['date']}: {item['text'][:80]}")

cURL

curl "https://api.apify.com/v2/acts/zhorex~telegram-channel-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{"channels": ["durov"], "maxMessagesPerChannel": 50}'

Webhook / n8n Integration

Set up an Apify webhook to trigger when the actor finishes, then process results in n8n, Zapier, or any automation tool.

FAQ

Does this require a Telegram API key?

No (for web preview mode). The default mode uses Telegram's public web preview at t.me/s/ which requires no authentication. For Telethon mode, you need API credentials from my.telegram.org.

Can I scrape private channels?

Only with Telethon mode if you are a member of the channel. Web preview mode only works with public channels that have web preview enabled.

What about rate limits?

The actor handles rate limits automatically. Web preview mode uses a 2-second delay between requests. Telethon mode handles Telegram's FloodWaitError with automatic sleep and retry. You should never see rate limit errors in your results.

Is this GDPR compliant?

The actor extracts publicly available data. When extracting member data (Telethon mode), ensure you have a legitimate legal basis under GDPR or applicable data protection laws. Member data extraction is disabled by default.

What formats can I export?

Apify supports JSON, CSV, Excel (XLSX), and XML. You can also access data via the Apify API, integrate with Google Sheets, or connect to 2,000+ apps via webhooks.

Why do I need a phone number for Telethon mode?

Telegram's API requires phone-based authentication. You generate a session string once locally, then use it in the actor. The actor never stores or transmits your phone number.

What's the maximum number of messages?

Web preview mode can extract up to ~500 messages per channel (Telegram's endpoint limitation). Telethon mode can extract the full message history — up to 10,000 per run (configurable).

Is there a free Telegram scraper?

Yes. This Actor works with Apify's free plan which includes $5 of monthly usage. The web preview mode is the most cost-effective way to scrape Telegram channels — $0.02 per channel plus $0.50 per 1,000 messages.

How much does it cost to scrape Telegram channels?

Web preview mode: ~$0.12 per channel (100 messages). Telethon mode: ~$0.56 per channel (1,000 messages). Start with Apify's free tier — $5 included monthly.

Can I use this Telegram scraper in Python?

Yes. Use the Apify Python client (pip install apify-client) to call this Actor programmatically. See the Python SDK example above.

This Actor accesses publicly available data through Telegram's public web preview (t.me/s/) and official Telegram API. No authentication is bypassed and no private data is accessed without authorization. Always consult legal counsel for your specific use case.

What is the best Telegram scraper in 2026?

This Actor is the most reliable Telegram scraper on Apify — zero crashes, zero empty results, and two scraping modes (web preview + Telethon API). It supports reactions, media metadata, date filtering, and multi-channel scraping.

Other scrapers by Zhorex

Chinese Social Intelligence Suite:

B2B Review Intelligence:

Streaming Analytics:

Other Tools:

This actor accesses publicly available data through Telegram's public web preview (t.me/s/) and official Telegram API. No authentication is bypassed and no private data is accessed without authorization.

When extracting member data, ensure you have a legitimate legal basis under GDPR or applicable data protection laws. Member data extraction is disabled by default and must be explicitly enabled.

Users are responsible for ensuring their use of extracted data complies with applicable laws and Telegram's Terms of Service.


Your Review Matters

Most Telegram scrapers on Apify have 1-2 star ratings due to crashes and empty results. This one is built to be different — zero crashes, zero empty results.

If this Actor worked for you, a 30-second review helps others find a reliable alternative:

  1. Go to the Telegram Channel Scraper page
  2. Scroll down and click the star rating
  3. Optionally leave a one-line comment about your use case

Why it matters: Early reviews have the biggest impact on Store rankings. Your review directly helps other researchers, analysts, and developers find a scraper that actually works.

Found a bug instead? Open an issue and I'll fix it within 24 hours.