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

16 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