telegram-channel-content-media-scraper avatar
telegram-channel-content-media-scraper

Under maintenance

Pricing

$9.00/month + usage

Go to Store
telegram-channel-content-media-scraper

telegram-channel-content-media-scraper

Under maintenance

Developed by

Olga

Olga

Maintained by Community

Telegram Channel Content & Media Scraper – extract channel name, bio, subscribers, recent posts, views, and media info. Get structured data and direct download links for images and videos. Ideal for automation, data parsing, analysis, and media collection.

0.0 (0)

Pricing

$9.00/month + usage

0

Total users

2

Monthly users

2

Runs succeeded

>99%

Last modified

2 days ago

📦 Telegram Channel Content & Media Scraper

Extract channel name, bio, subscriber count, recent posts, views, reactions, and all media with direct download links.
This actor scrapes structured content from public Telegram channels using the Telegram API via a pre-authorized session string.


✅ What This Actor Does

  • Connects to Telegram automatically (no setup required)
  • Parses public channels (by username or link)
  • Retrieves:
    • Channel name and subscriber count
    • Latest posts (text, views, reactions, links, media)
    • Direct media URLs (.jpg, .mp4, .pdf, etc.)
  • Handles:
    • Text-only and media-only messages
    • Full reaction counts and link extraction
  • Skips:
    • Ads, empty posts, and outdated messages
  • Starts from most recent post and works backwards

🧾 Input

You don’t need to enter any credentials — they’re already preconfigured.
Just provide three simple fields:

FieldTypeRequiredDescription
channelsstringComma-separated list of channel usernames or links (e.g. @channel1, @channel2)
limitnumberMax number of posts per channel (default: 10)
daysBacknumberNumber of days to look back from today (default: 7)

📌 Example input:

{
"channels": "@channelname, @channelname, @channelname",
"limit": 5,
"daysBack": 3
}

▶️ How to Run

  1. Open the actor in Apify Console
  2. Fill in the input fields:
    • channels: @channel1, @channel2
    • limit: 5 (optional)
    • daysBack: 3 (optional)
  3. Click Save, then Run
  4. Watch live logs and access results from:
    • 📁 Dataset (post content, text, reactions, views)
    • 🗂️ Key-Value Store (media files with public links)

📤 Output

Each post is saved as a separate record in the default dataset (JSON format).
Text-only and media-only messages are handled independently.

Example output:

{
"channel": "@channel_name",
"channelLink": "https://t.me/channel_name",
"subscribers": 12345,
"postId": 101,
"postUrl": "https://t.me/channel_name/101",
"date": "2025-05-31T17:38:00.000Z",
"text": "Example post content",
"views": 3456,
"reactions": [
{ "emoji": "👍", "count": 42 },
{ "emoji": "❤️", "count": 18 }
],
"likes": 60,
"links": ["https://example.com"],
"hasMedia": true,
"mediaUrls": [
"https://api.apify.com/v2/key-value-stores/<storeId>/records/channel_101_101.jpg?disableRedirect=1"
]
}

🛠 Use Cases

  • Competitive/viral content monitoring
  • Telegram market research
  • Dataset building for AI/ML models
  • Public media archiving
  • Social listening and trend analysis
  • Automation for newsletter or curation projects

🚀 Deploy Now

First run may take 1–2 minutes to initialize dependencies.
Subsequent runs are faster and optimized.



⚠️ Telegram Post Grouping Behavior

Important note:
Telegram’s internal interface sometimes displays a single post as a combination of text + media, but via the Telegram API, these are delivered as two separate messages.

As a result, you may see two records in the dataset with:

  • The same date or very close timestamps
  • Consecutive postId values
  • One record containing only text, the other containing only media

This is expected behavior.
The actor captures exactly what the Telegram API provides without merging or altering message structure.

🧠 Example case: A post with text and video may appear as:

  1. Text message → with reactions, links, and hasMedia = true
  2. Video message → with text = "" and a video file in mediaUrls

This ensures you retain all available metadata, but keep in mind that frontend grouping is not preserved in raw data.

To reconstruct the post visually:

  • Use matching postId timestamps
  • Optionally merge adjacent records if they share a context

🔐 License & Usage

This actor is a proprietary paid product.

  • ❗ It is not open source
  • 📦 It is licensed for private and commercial use only by subscribers
  • 🛑 Any unauthorized copying, reselling, or redistribution is strictly prohibited
  • 🧑‍💻 All activity is logged for abuse prevention and fair use enforcement

To get access or report a bug, please contact the creator.


Made with 💙 for Telegram research & automation.