Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT) avatar

Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT)

Pricing

Pay per usage

Go to Apify Store
Telegram Channel & Group Scraper (Public HTTP & BYOS OSINT)

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

Conall Rian

Maintained by Community

Actor 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:

FeatureLegacy / Browser-Based ScrapersThis 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 × AI
The 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:

EventDescriptionPrice
actor-startActor initialization fee$0.05
result-itemPer scraped Telegram message item$0.0025 ($2.50 per 1,000 messages)

Charges respect your maxTotalChargeUsd run budget automatically.


📥 Input Schema

ParameterTypeRequiredDefaultDescription
channelsArray of stringsYes["durov"]Telegram usernames or URLs (durov, @telegram, https://t.me/durov).
maxMessagesPerChannelIntegerNo100Max messages to scrape per channel (newest first).
modeStringNo"PUBLIC_HTTP""PUBLIC_HTTP" (Zero login) or "BYOS_GRAMJS" (Private chats).
telegramSessionStringNonullStringSession string (required only for Mode B).
queryStringNonullCase-insensitive keyword filter for message text.
outputFormatStringNo"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 dependencies
npm install
# Build TypeScript to dist
npm run build
# Run automated test suite
npm test
# Run actor locally
npm start