Telegram Group Scrapers avatar
Telegram Group Scrapers

Pricing

$20.00 / 1,000 results

Go to Apify Store
Telegram Group Scrapers

Telegram Group Scrapers

A powerful tool designed for researchers, analysts, and data scientists to scrape messages from public Telegram channels and groups. It leverages the public web preview (`t.me/s/<username>`) to ethically collect data without requiring personal Telegram accounts or API credentials.

Pricing

$20.00 / 1,000 results

Rating

0.0

(0)

Developer

mikolabs

mikolabs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

9 days ago

Last modified

Share

Telegram Public Channel Scraper

This Apify Actor scrapes messages from public Telegram channels and groups. It uses the public web preview (t.me/s/<username>) to fetch messages without requiring a Telegram account or API credentials.

Features

  • No Login Required: Works with public channels/groups.
  • Incremental Scraping: Keeps track of the last processed message ID to only fetch new messages in subsequent runs.
  • Media Extraction: Extracts URLs for images and video thumbnails.
  • Proxy Support: Configurable proxy settings (defaults to Apify Proxy).

Input

| Field | Type | Description | Default |

StrStrStrStr
startUrlsArrayList of Telegram channel URLs (e.g., https://t.me/durov).[]
usernamesArrayList of Telegram usernames (e.g., durov).[]
maxMessagesIntegerMax messages to scrape per channel.100
proxyConfigurationObjectProxy settings.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
debugModeBooleanEnable debug logging.false

Output

The actor stores results in the default Apify Dataset. Each item represents a message:

{
"id": 123,
"channel_username": "durov",
"url": "https://t.me/durov/123",
"text": "Hello world...",
"date": "2023-10-27T10:00:00+00:00",
"views": "1.5K",
"media_urls": ["https://..."],
"scraped_at": "2023-11-24T12:00:00.000000"
}

Limitations

  • Public Only: Cannot scrape private groups or channels without a username.
  • Web Preview Limits: The web preview (t.me/s/...) might not show all historical messages or very old messages easily. This actor is best for monitoring new messages.
  • Rate Limits: Telegram may rate limit requests. The actor uses httpx with retries, but aggressive scraping should be avoided.

Local Development

To run the actor locally, it is recommended to use a virtual environment to avoid dependency conflicts:

# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
.\venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the actor
apify run

License

Apache 2.0