Telegram Channel & Profile Scraper avatar

Telegram Channel & Profile Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Telegram Channel & Profile Scraper

Telegram Channel & Profile Scraper

Scrape Telegram public channels and profiles — channel metadata, messages, views, reactions, and media URLs. No API key or login needed.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeAI

ScrapeAI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Telegram Channel & Profile Scraper is a fast, lightweight, and reliable Apify Actor designed to extract public posts, channel metadata, view counts, reaction metrics, and media attachments from Telegram public channels and profiles.

No API key, Telegram login, or bot token is required. The Actor accesses public web previews (t.me/s/) directly to provide clean, structured data in real-time.


Features

  • No Authentication Required: Scrape public Telegram channels and profiles instantly without API hash, phone numbers, or account credentials.
  • Rich Message Extraction: Collect post IDs, post URLs, timestamps, message text (plain text & HTML), views, and reactions.
  • Media Download Links: Extract direct URLs for images, MP4 videos, audio files, documents, and external hyperlinks embedded in posts.
  • Channel Metadata: Fetch channel titles, handles/usernames, subscriber/member counts, channel bio/descriptions, and profile avatars.
  • Dynamic Output Formats: Choose between Flat (1 item per post) or Nested (1 item per channel with array of posts).
  • Flexible Filters: Filter posts by keyword search or date ranges (startDate / endDate).
  • Paging Support: Automatically loads older channel messages up to your specified maxPostsPerChannel.

What Data Can You Extract?

Field NameTypeDescription
channelTitleStringName of the Telegram channel or profile
channelUsernameStringHandle or username (e.g. durov)
channelUrlStringLink to the Telegram channel (https://t.me/durov)
subscriberCountStringSubscriber or member count (e.g. 11.3M)
subscriberTypeStringLabel for count (e.g. subscribers, members)
messageIdInteger / StringNumerical ID of the post
postUrlStringDirect web link to the specific post
dateStringISO 8601 publication timestamp
textStringFull message text content
viewsStringTotal view count (e.g. 4.47M)
reactionsArrayArray of reaction emojis and counts ([{ "emoji": "⭐ Stars", "count": "7.81K" }])
photosArrayURLs of high-res image previews
videosArrayDirect MP4 video download URLs
documentsArrayDocument attachment titles and details
linksArrayExternal web links contained in the post
forwardedFromStringChannel name if post was forwarded
scrapedAtStringTimestamp when data was extracted

How to Scrape Telegram Public Channels

  1. Input Channel URLs or Usernames: Enter full URLs (https://t.me/s/durov or https://t.me/telegram) or simple handles (durov, @telegram).
  2. Select Scrape Type: Choose whether to collect full channel info & messages (all), messages only (messages), or metadata only (channel_info).
  3. Set Post Limits & Filters: Define maxPostsPerChannel and optional startDate / endDate or searchKeywords.
  4. Run the Scraper: Click Start to begin scraping.
  5. Export Data: Download your datasets in JSON, CSV, Excel, XML, or HTML formats.

Input Parameters

See the Input tab in Apify Console for full configuration options:

{
"startUrls": [
{ "url": "https://t.me/s/durov" }
],
"channels": [
"telegram"
],
"scrapeType": "all",
"maxPostsPerChannel": 50,
"includeChannelMetadata": true,
"includeMedia": true,
"includeReactions": true,
"includeViews": true,
"outputFormat": "flat"
}

Key Settings:

  • startUrls (Array): List of Telegram channel URLs.
  • channels (Array): List of Telegram usernames or handles (e.g. durov, @telegram).
  • scrapeType (String): Options: all (default), messages, channel_info.
  • maxPostsPerChannel (Integer): Max posts per channel (default 50, set 0 for no limit).
  • outputFormat (String): Options: flat (1 record per post) or nested (1 record per channel).

Output Examples

Flat Format

{
"channelTitle": "Pavel Durov",
"channelUsername": "durov",
"channelUrl": "https://t.me/durov",
"subscriberCount": "11.3M",
"subscriberType": "subscribers",
"messageId": 519,
"postUrl": "https://t.me/durov/519",
"date": "2026-05-20T15:38:10.000Z",
"text": "🤖 Your Telegram inbox can now run itself.Assign a bot to read and reply for you — with granular control over its rights and chat access. 🧠⚙️ Start building!",
"views": "8.64M",
"reactions": [
{
"emoji": "⭐ Stars",
"count": "2.48K"
},
{
"emoji": "custom_5265077361648368841",
"count": "23.4K"
},
{
"emoji": "custom_5465587407350942612",
"count": "7.75K"
},
{
"emoji": "custom_5399847211989246390",
"count": "5.99K"
},
{
"emoji": "custom_5936157098181135162",
"count": "417"
},
{
"emoji": "custom_5373223594484587136",
"count": "107"
}
],
"photos": [],
"videos": [
"https://cdn4.telesco.pe/file/e174be993b.mp4?token=ohtSSMZAhThj4sFImo9zSLjbBQL-_f4gsyzNyPEQmebkua-Fzfjvv-roC2IPuJSB5aF_LMFjiI488ZnzhnHleK6YMHpXYwKjHdzXaH7BA3Swbjitr8GHJFWhLh-AgpueKR2GYNS1QRaq_pOTThZ9-yTEPo0cj71MlV1CvU8BEBAXuctVSiXT6FpWTJupqvXzwkAQXvOt45Wviuhrjn-vq0G73Em20yaWoBIh5pa8576wk1XrSqtM83PO33MYHc3dp1lDS0x56hznQqM2t7kCGKyxc7KpDUVec1AlWq3G0HeEsDdIPCfHb6bTf-BAttdkx-lvuerEgp1HY9gcIXdb6A"
],
"documents": [],
"links": [
"https://core.telegram.org/bots/features#secretary-bots"
],
"scrapedAt": "2026-08-06T09:03:13.169Z"
}

Our Actors are ethical and do not extract any private user data, such as private chat messages, non-public phone numbers, or hidden personal details. They only extract what channel owners have chosen to publish publicly on Telegram web previews. You should ensure that your use of scraped data complies with applicable privacy laws (such as GDPR) and Telegram's Terms of Service.


Support & Feedback

If you encounter any issues or have feature requests, please open an issue in the Issues tab on Apify Console.