PUBLIC TELEGRAM DATA · MIT LICENSE · PYTHON + TYPESCRIPT

Read public Telegram channels without an account.

TeleGlance scrapes t.me web previews with fully typed async clients for Python and TypeScript. No API keys, no MTProto sessions, no Telegram account required. Just install and start reading.

$pip install teleglanceor$npm install teleglance

Simple by design

Core features, zero complexity.

Both packages share the same vocabulary: channels, messages, media, pagination, search, live updates, and checkpointed streams. Each language evolves independently with its own release schedule and idiomatic patterns.

Python + TypeScript
# Python
async for message in client.iter_messages("telegram", limit=10):
    print(message.id, message.text)

// TypeScript
for await (const message of client.iterMessages("telegram", { limit: 10 })) {
  console.log(message.id, message.text);
}

What you can do

Archive, monitor, search, and download.

Fetch channel metadata and message history. Search by keyword. Watch for new posts with automatic polling and retry logic. Download photos, videos, and documents. Resume streams from checkpoints without reprocessing. Export everything as JSON or NDJSON.

History & pagination

Iterate through thousands of messages with automatic page fetching. Navigate forward or backward in time.

Live watching

Poll for new messages with configurable intervals. Automatic retry on transient failures.

Search

Query messages by keyword with full pagination support. Same async iterator API as history.

Media downloads

Save photos, videos, stickers, and documents to disk or load into memory for processing.

Checkpoints

Resume streams from where you left off. Track oldest and newest message IDs with file or custom storage.

CLI tools

Both packages include command-line interfaces for quick data export and automation scripting.