Telegram Groups Scraper avatar

Telegram Groups Scraper

Pricing

$0.30 / 1,000 results

Go to Apify Store
Telegram Groups Scraper

Telegram Groups Scraper

⚡️ Telegram Groups Scraper: Extract messages from public & private Telegram groups.

Pricing

$0.30 / 1,000 results

Rating

0.0

(0)

Developer

i-Scraper

i-Scraper

Maintained by Community

Actor stats

5

Bookmarked

281

Total users

11

Monthly active users

2 days ago

Last modified

Categories

Share

Private Telegram Groups Scraper

Export message history from private, invite-only, and members-only Telegram groups your account can access.

Telegram Groups Scraper automatically downloads complete or incremental message history from the groups you specify.


1. Why you will love it

  • 🏎 Fast — fetches thousands of messages per minute thanks to full async processing.
  • 🛡 Reliable — retries API calls, respects rate limits and survives network hiccups.
  • 🔎 Flexible — scrape up to 20 groups per run and use historyFrom to limit the time range.
  • 🔐 Reusable login — scan the QR in Live View once; the Actor securely reuses the session on later runs.

2. Input configuration

{
"groups": [
"@mygroup",
"https://t.me/+abcdef1234567"
],
"historyFrom": "2025-01-01T00:00:00Z",
"telegram2faPassword": "${{ TELEGRAM_2FA_PASSWORD }}",
"limit": 3000
}

Parameters explained:

  • groups (array, required) — group identifiers accepted in any of the following forms:
    • @group
    • https://t.me/group (public)
    • https://t.me/+<hash> or https://t.me/joinchat/<hash> (invite link)
  • historyFrom (string, optional) — ISO-8601 timestamp. Messages older than this value are skipped.
  • telegramSession (string, optional) — pass a session string directly instead of using the secret.
  • telegram2faPassword (string, optional) — account password if two-factor authentication is enabled.
  • limit (integer, optional, default 3000) — maximum number of messages to retrieve per group.

3. Running the Actor

  1. Open Telegram Groups Scraper on Apify.
  2. Click Run and open the Live View tab.
  3. If there is no valid saved session, a QR code appears in Live View and in Logs. In Telegram open Settings → Devices → Link Desktop Device and scan it.
  4. If Telegram prompts for a password after scanning the QR (two-factor authentication), stop the run, open the input section and fill Telegram 2FA password (or set the secret TELEGRAM_2FA_PASSWORD) and start the Actor again.
  5. The Actor saves the session in a private per-user Key-value store and reuses it automatically.

4. Output dataset

Each message is stored in the default dataset. Sample record:

{
"type": "message",
"group": "mygroup",
"id": 12345,
"date": "2024-05-21T15:32:10+00:00",
"sender_id": 67890,
"sender_username": "username",
"text": "Hello, Apify!",
"media_type": null
}

Download results in JSON, CSV, Parquet and more via Apify API or UI.

The Run summary output is stored as the OUTPUT record in the run's default Key-value store. It includes group-level outcomes, authentication state, rate-limit waits, and message counters. It is not added to the Dataset, so it does not create an extra dataset-item charge.


5. FAQ

Q: I see a Telegram cooldown in the summary — did the run fail?

A: Short cooldowns are handled automatically and message collection resumes without restarting from the beginning. Long cooldowns are reported per group so the Actor does not waste the entire run waiting.

Q: Can I scrape a private group?
A: Yes. Provide a valid invite link and the Actor joins and fetches its history. If the group requires administrator approval, the run summary says pending-approval; rerun after the account is accepted.

Q: How do I save only media messages?
A: After the run finishes, filter the dataset by media_type.

Q: Is it safe to provide telegramSession and telegram2faPassword?
A: Secret input values never appear in logs. The generated session is stored in an Actor-specific Key-value store available only in that user's Actor scope. The QR token is displayed temporarily and is not persisted. Recommended practices:

• keep both values exclusively in Secrets;
• regenerate / update the session string whenever you change your Telegram password;
• you can revoke access at any moment in Telegram settings by logging out the linked device.

Q: I noticed a new device called “apifytg” logged into my Telegram from an unfamiliar location. What is it?
A: When the actor authenticates, Telethon registers a device for the session (the default device model is “ApifyTG”). The IP you see is the data-centre where the actor is running (Apify Cloud or your local machine). This is expected and safe. If you want to revoke access, simply log this device out in Settings → Devices and remove the saved telegramSession / secret.


Looking for more Telegram data extraction tools? Check out our complete suite:


7. Support & contributions

Found a bug or have a feature request? Feel free to open an issue or submit a pull request. We’re happy to discuss ideas like additional fields, filters or export formats.


⭐️ Launch Telegram Groups Scraper today and turn Telegram content into valuable data for analytics, brand monitoring and research!