Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT)
Pricing
Pay per usage
Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT)
High-performance zero-ban Telegram scraper. Scrapes public channels with zero authentication at ultra-low compute (<$0.02/1k msgs), or private groups via BYOS Gram.js session. AI & RAG ready.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Conall Rian
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
⚡ Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT)
The fastest, zero-ban Telegram scraper on Apify. Scrapes public channels with No Telegram API Key / No Phone Number Needed, zero account risk, and ultra-low compute (<$0.02/1k messages). Includes optional BYOS (Bring Your Own Session) mode for private groups. Output is pre-formatted for AI & RAG vector pipelines.
🔄 The Modern Solution to Unreliable Telegram Scrapers
Tired of legacy Telegram scrapers that suffer from run timeouts, IP blocks, account restrictions, or forced phone number verification?
This Actor is engineered as a 100% reliable, zero-maintenance modern alternative:
| Feature | Legacy / Browser-Based Scrapers | This Scraper |
|---|---|---|
| Run Success Rate | ❌ 0% (100% timed out / aborted) | ✅ 100% Succeeded |
| Public Channels Login | ❌ Requires phone, SMS code, or API key | ✅ No API Key / No Phone Number Needed |
| Account Ban Risk | ❌ High (shared bot sessions get banned) | ✅ Zero Ban Risk (Lightweight HTTP) |
| Compute Cost | ❌ $0.20 - $0.50 / 1,000 msgs (Headless Chrome) | ✅ <$0.0001 / 1,000 msgs (Fast HTTP) |
| AI / RAG Integration | ❌ Unstructured raw text | ✅ Embeddings-Ready Markdown Chunks |
| Monetization Model | ❌ Broken / Dead rentals | ✅ Transparent Pay-Per-Event (PPE) |
🚀 Key Advantages
1. 🛡️ No Telegram API Key / No Phone Number Needed for Public Channels
In Mode A (Public HTTP - Default), the scraper extracts data directly from public Telegram channel web streams (https://t.me/s/{channel}). You do not need to create an app on my.telegram.org, link your personal phone number, or risk account restrictions.
2. 🔐 BYOS (Bring Your Own Session) for Private Groups
Need access to private groups, restricted discussion chats, or member lists? Switch to Mode B (BYOS Gram.js) and pass your custom telegramSession string. Your session credentials remain completely isolated and private to your run.
3. 🧠 Instant AI & RAG Ready Output
Every scraped message includes a clean, pre-structured ragContent field. You can stream results straight into vector databases (Pinecone, Qdrant, ChromaDB, PGVector) or LLM context windows (OpenAI, Gemini, Anthropic, LangChain, LlamaIndex) without custom regex cleanup:
### Telegram Message | Pavel Durov (@durov) #552- **URL**: https://t.me/durov/552- **Timestamp**: 2026-10-11T14:52:40+00:00- **Views**: 964,000- **Reactions**: ⭐️ 5600 | 👍 11700**Content**:✨ Designers × AIThe mockup era is over. Today's AI tools give every designer a superpower...
💰 Monetization & PPE Pricing
This Actor is monetized with Apify's official Pay-Per-Event (PPE) model with predictable pay-as-you-go pricing:
| Event | Description | Price |
|---|---|---|
actor-start | Actor initialization fee | $0.05 |
result-item | Per scraped Telegram message item | $0.0025 ($2.50 per 1,000 messages) |
Charges respect your maxTotalChargeUsd run budget automatically.
📥 Input Schema
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
channels | Array of strings | Yes | ["durov"] | Telegram usernames or URLs (durov, @telegram, https://t.me/durov). |
maxMessagesPerChannel | Integer | No | 100 | Max messages to scrape per channel (newest first). |
mode | String | No | "PUBLIC_HTTP" | "PUBLIC_HTTP" (Zero login) or "BYOS_GRAMJS" (Private chats). |
telegramSession | String | No | null | StringSession string (required only for Mode B). |
query | String | No | null | Case-insensitive keyword filter for message text. |
outputFormat | String | No | "AI_RAG" | "AI_RAG" (structured JSON + markdown chunk) or "RAW_JSON". |
Example Input
{"channels": ["durov", "telegram"],"maxMessagesPerChannel": 50,"mode": "PUBLIC_HTTP","outputFormat": "AI_RAG"}
📤 Output Schema
{"id": "durov/552","messageId": 552,"channel": "durov","channelTitle": "Pavel Durov","url": "https://t.me/durov/552","datetime": "2026-10-11T14:52:40+00:00","date": "2026-10-11","author": "Pavel Durov","text": "✨ Designers × AI\n\n🆕 The mockup era is over...","views": 964000,"forwards": null,"reactions": [{ "emoji": "⭐️", "count": 5600 },{ "emoji": "👍", "count": 11700 }],"media": [{"type": "video","thumbUrl": "https://cdn4.telesco.pe/file/..."}],"isForwarded": false,"ragContent": "### Telegram Message | Pavel Durov (@durov) #552\n- **URL**: https://t.me/durov/552\n..."}
🛠️ Local Development & Testing
# Install dependenciesnpm install# Build TypeScript to distnpm run build# Run automated test suitenpm test# Run actor locallynpm start