Telegram Channel Scraper avatar

Telegram Channel Scraper

Pricing

from $11.25 / 1,000 result items

Go to Apify Store
Telegram Channel Scraper

Telegram Channel Scraper

Archive messages, media, reactions, and metadata from any public Telegram channel - 35 fields per message, no phone or API key required.

Pricing

from $11.25 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

๐Ÿ“จ Telegram Channel Scraper

๐Ÿš€ Archive entire Telegram channels in seconds. Pull messages, photos, videos, link previews, reactions, view counts, and channel stats from any public channel. No login, no MTProto, no API key.

๐Ÿ•’ Last updated: 2026-05-09 ยท ๐Ÿ“Š 35 fields per record ยท No auth required ยท Pagination back to message #1 ยท Multi-channel batches

Telegram is one of the largest open broadcast networks on the internet, with public channels covering crypto markets, breaking news, government communications, fan communities, and developer announcements. The platform's web preview at t.me/s/{channel} exposes a full archive of any channel that has enabled public preview, but it is paginated, HTML-rendered, and rate-sensitive. Pulling a clean dataset out of it by hand means stitching dozens of pages, parsing fragile DOM, and handling every media type Telegram supports.

This actor handles all of that. Point it at one channel or a hundred, set a maximum, and it walks the public preview newest-first, parses every supported message type (text, photo, video, voice, document, sticker, poll, location, forwarded, reply, service), normalizes view counts and reaction tallies, and ships 35 structured fields per message. Every record includes the source channel's title, description, subscriber count, and verified status, so single records stand on their own without needing a join. Channels that do not expose a public preview are flagged with an error record rather than failing the whole run.

๐Ÿ‘ฅ Target Audience๐ŸŽฏ Primary Use Cases
Crypto researchers tracking project announcementsBuild longitudinal datasets of token launch posts and community sentiment
Compliance and risk teams archiving public chatterSnapshot regulated entities' public messaging for retention requirements
Investigative journalists documenting sourcesCapture an immutable copy of public channel posts before they are edited
OSINT and threat-intel analystsMonitor activity, view counts, and reaction signals at scale
Academic researchers studying online communitiesCollect reproducible corpora of public channel discourse

๐Ÿ“‹ What the Telegram Channel Scraper does

  • ๐Ÿ“ก Multi-channel input. Accepts channel usernames, @handles, or full https://t.me/... URLs. Each channel is paginated independently with its own per-channel cap.
  • ๐Ÿงพ Full message body. Returns both plain text and Telegram's original HTML, including emoji, formatting, and outbound <a> links.
  • ๐Ÿ–ผ๏ธ Every media type. Photos, videos (including round videos), voice notes, documents, stickers, polls, locations, plus link preview cards.
  • ๐Ÿ” Forwards and replies. Captures the original channel name and link for forwards, the parent message for replies, and the snippet of the message being replied to.
  • ๐Ÿ“ˆ Engagement signals. View counts and full reaction tallies (including paid Star reactions) parsed into clean integers (no 1.2K strings).
  • ๐Ÿ—“๏ธ Date-bounded archival. Optional fromDate / toDate filters stop pagination at the right point so you do not pay to scrape outside the window.

Each record carries channelTitle, channelDescription, channelSubscribers, and channelVerified from the channel's profile page so a single message can be analyzed without joining a separate channels table. Reaction blocks include both the unicode emoji (when standard) and the Telegram custom-emoji ID for branded reactions, and paid Star reactions are flagged with isPaid: true.

๐Ÿ’ก Why it matters: Telegram's MTProto API requires a registered application, a phone number, and a session that can be flagged or banned. The public preview is anonymous and rate-friendly. This actor turns it into a clean dataset without any of that overhead.


๐ŸŽฌ Full Demo

๐Ÿšง Coming soon: a 3-minute walkthrough showing how to scrape multiple channels, filter by date, and route results to a Google Sheet via integrations.


โš™๏ธ Input

FieldTypeRequiredDescription
channelsarray of stringsyesChannel usernames, @handles, or https://t.me/... URLs. Channel must have public preview enabled.
maxItemsintegernoTotal cap across all channels. Free plan: 10. Paid plan: up to 1,000,000.
maxItemsPerChannelintegernoPer-channel cap. Useful when scraping many channels but you only want recent activity from each.
fromDatedate stringnoISO 8601 date. Pagination stops once the page's oldest message is older than this.
toDatedate stringnoISO 8601 date. Messages newer than this are skipped.
messageTypesarraynoRestrict to selected types: text, photo, video, voice, document, sticker, poll, location, service, forwarded, reply.
onlyWithMediabooleannoSkip text-only messages.
includeChannelMetadatabooleannoAttach channel title, description, subscriber count, and verified flag to every record. Default true.
includeReactionsbooleannoInclude the reactions array. Default true.
includeLinkPreviewbooleannoInclude link preview metadata when present. Default true.
outputFormatstringnotext, html, or both. Controls whether the message body returns plain text, original Telegram HTML, or both.
proxyConfigurationobjectnoStandard Apify proxy configuration object.

Example: scrape the latest 100 posts from one channel.

{
"channels": ["durov"],
"maxItems": 100
}

Example: scrape three channels, last 30 days, photos and videos only.

{
"channels": ["cointelegraph", "crypto", "tginfo"],
"maxItems": 5000,
"maxItemsPerChannel": 2000,
"fromDate": "2026-04-09",
"messageTypes": ["photo", "video"]
}

โš ๏ธ Good to Know: Only channels with a public web preview are scrapeable. Private channels and groups, and channels whose owners have disabled the preview, return an error record. Telegram's public preview is anonymous; we do not authenticate, do not impersonate a user, and do not access any non-public data.


๐Ÿ“Š Output

Each record represents one message and carries channel-level fields for joinless analysis.

๐Ÿงพ Schema

FieldTypeExample
๐Ÿ–ผ๏ธ imageUrlstringhttps://cdn4.telesco.pe/file/K9wOaBteN...
๐Ÿ“› channelstringcointelegraph
๐Ÿ”— channelUrlstringhttps://t.me/cointelegraph
๐Ÿท๏ธ channelTitlestringCointelegraph
๐Ÿ“ channelDescriptionstringThe Future of Money. Trusted crypto & Web3 media since 2013.
โœ… channelVerifiedbooleantrue
๐Ÿ‘ฅ channelSubscribersinteger374535
๐Ÿ†” messageIdinteger69568
๐Ÿ”— urlstringhttps://t.me/cointelegraph/69568
๐Ÿ“… datestring2026-05-08T18:16:01+00:00
โœ๏ธ editedbooleanfalse
๐Ÿ‘ค authorstringCointelegraph
๐Ÿ’ฌ textstring๐Ÿ”ฅ LATEST: $TON now ranks as the highest yielding...
๐Ÿงฑ htmlTextstring<b>๐Ÿ”ฅ LATEST: </b>$TON now ranks as...
๐Ÿ‘๏ธ viewsinteger4670
๐Ÿ’ฐ isPaidbooleanfalse
๐Ÿท๏ธ typestringphoto
โ†ฉ๏ธ forwardedFromstringPavel Durov
๐Ÿ‘ค forwardedFromAuthorstringPavel Durov
๐Ÿ”— forwardedFromUrlstringhttps://t.me/durov/503
๐Ÿ” replyTostringtginfo/4282
๐Ÿ”— replyToUrlstringhttps://t.me/tginfo/4282
๐Ÿ‘ค replyToAuthorstringTelegram Info
๐Ÿ’ฌ replyToTextstringTelegram ั€ะฐะทะผะตัั‚ะธะป ะพะฑะปะธะณะฐั†ะธะธ ะฝะฐ $1.7 ะผะปั€ะด
๐Ÿ–ผ๏ธ photosarray[{url, aspectRatio}]
๐ŸŽฌ videosarray[{url, thumbnailUrl, duration, durationSeconds}]
๐ŸŽ™๏ธ voiceobject{url, duration, durationSeconds}
๐Ÿ“Ž documentsarray[{url, title, extra}]
๐ŸŒŸ stickerobject{url}
๐Ÿ“Š pollobject{question, type}
๐Ÿ“ locationobject{url}
๐ŸชŸ linkPreviewobject{url, siteName, title, description, image}
๐ŸŽ‰ reactionsarray[{emoji, isPaid, count}]
๐Ÿ”ข totalReactionsinteger55
๐Ÿ•’ scrapedAtstring2026-05-09T00:23:38.901Z

๐Ÿ“ฆ Sample records


โœจ Why choose this Actor

Capability
๐ŸชชNo authentication. No phone number, no MTProto, no app registration. Anonymous scraping of public previews only.
๐ŸงฑSchema stability. 35 documented fields, every one named in the output schema, with consistent typing across runs.
๐ŸŽฌFull media coverage. Photos, videos, round videos, voice notes, documents, stickers, polls, locations, link previews, paid media flags.
๐Ÿ”Provenance preserved. Forwards keep the original channel name and link; replies keep the parent ID, author, and snippet.
๐Ÿ“…Date-bounded pagination. fromDate stops the crawl at the right point so big channels do not run forever.
๐Ÿ“ˆNumeric engagement. 1.2K and 2.6M parsed to 1200 and 2600000; reactions summed into totalReactions.
๐Ÿ›ฐ๏ธApify Proxy ready. Works direct or through Apify residential / datacenter proxy groups for hardened runs.

๐Ÿ“Š In sample crawls across durov, cointelegraph, crypto, and tginfo, the actor pulled 50 messages in 4 seconds with zero retries.


๐Ÿ“ˆ How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
โญ Telegram Channel Scraper (this Actor)Pay per usageAny public channel with web previewOn-demandchannels, dates, types, mediaPaste channels and click run
MTProto API clientsFree, but requires phone + sessionFull Telegram surface (private chats too)Real-timeCustom codeApp registration, phone, session management
Browser automation against Telegram WebHigh (browser cost)Anything you can see logged inReal-timeCustom codeHeadless setup, login, anti-bot handling
Generic web crawlersLowWhatever HTML they parsePeriodicLimitedDOM selectors break each Telegram update
Manual copy and pasteFreeA handful of messagesWhenever you botherNoneFree time

This actor sits between "free but operationally heavy" (MTProto) and "shallow web crawlers": authenticated-quality data, anonymous-grade simplicity.


๐Ÿš€ How to use

  1. โœจ Sign up. Create an Apify account at console.apify.com/sign-up. Free tier covers 10 messages so you can preview the output before upgrading.
  2. ๐Ÿ“‹ Open the actor. Find Telegram Channel Scraper in the ParseForge collection and click Try for free.
  3. ๐ŸŽฏ Pick channels. Paste channel usernames or t.me/... URLs into the Telegram Channels field. Add as many as you like.
  4. ๐ŸŽš๏ธ Tune limits and filters. Set maxItems, maxItemsPerChannel, optional date window, and message types. Defaults pull the latest 10 messages per channel.
  5. ๐Ÿ’พ Run and download. Click Start. Stream results to JSON, CSV, Excel, RSS, or pipe directly into Google Sheets, S3, or your warehouse via Apify integrations.

โฑ๏ธ Total time: under 60 seconds from sign-up to first dataset row.


๐Ÿ’ผ Business use cases

๐Ÿช™ Crypto research desks

  • Track token announcements from project channels
  • Detect coordinated promotion via reaction spike anomalies
  • Build sentiment datasets across the top crypto channels
  • Capture pump-and-dump signals before they are deleted

๐Ÿ“ฐ Newsrooms and media monitoring

  • Archive primary-source channels (officials, agencies, NGOs)
  • Document edits and message deletions over time
  • Snapshot breaking news threads for citation
  • Build searchable Telegram archives by topic

๐Ÿ›ก๏ธ Compliance and regulated industries

  • Retain public messaging from supervised entities
  • Monitor regulated communities for policy violations
  • Generate audit trails of public corporate communications
  • Feed risk-rating models with engagement signals

๐Ÿ” OSINT and threat intel

  • Track adversary channel activity at scale
  • Map cross-channel forward graphs to identify networks
  • Score channel growth and engagement programmatically
  • Deliver structured Telegram feeds to SIEM and TIP tools

๐ŸŒŸ Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

๐ŸŽ“ Research and academia

  • Empirical datasets for papers, thesis work, and coursework
  • Longitudinal studies tracking changes across snapshots
  • Reproducible research with cited, versioned data pulls
  • Classroom exercises on data analysis and ethical scraping

๐ŸŽจ Personal and creative

  • Side projects, portfolio demos, and indie app launches
  • Data visualizations, dashboards, and infographics
  • Content research for bloggers, YouTubers, and podcasters
  • Hobbyist collections and personal trackers

๐Ÿค Non-profit and civic

  • Transparency reporting and accountability projects
  • Advocacy campaigns backed by public-interest data
  • Community-run databases for local issues
  • Investigative journalism on public records

๐Ÿงช Experimentation

  • Prototype AI and machine-learning pipelines with real data
  • Validate product-market hypotheses before engineering spend
  • Train small domain-specific models on niche corpora
  • Test dashboard concepts with live input

๐Ÿ”Œ Automating Telegram Channel Scraper

Run the scraper from your own code or pipelines using the Apify API or SDKs.

For recurring archival jobs, use Apify Schedules to run the actor on a cadence (hourly, daily, weekly) and write the dataset to your destination. Each scheduled run captures the messages added since the previous run, so storage stays bounded.


โ“ Frequently Asked Questions


๐Ÿ”Œ Integrate with any app

  • Zapier - trigger downstream automations from each new dataset row.
  • Make - visual workflow builder for routing scraped messages.
  • n8n - self-hosted automation for sensitive Telegram archives.
  • Google Sheets - one-click export of the dataset to a sheet.
  • Airbyte - ELT pipeline into Snowflake, BigQuery, Redshift, Postgres.
  • Apify API - direct HTTP integration in any language.

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection for more social, marketplace, and public-records scrapers.


๐Ÿ†˜ Need Help?

Open our contact form and we will respond within one business day.


โš–๏ธ Disclaimer: This actor only accesses public Telegram channel previews exposed by Telegram itself. It does not authenticate, impersonate users, or access private chats, groups, or content. Users are responsible for compliance with Telegram's terms of service and applicable law in their jurisdiction.