Telegram Channel Message avatar

Telegram Channel Message

Pricing

from $0.30 / 1,000 messages

Go to Apify Store
Telegram Channel Message

Telegram Channel Message

Telegram channel scraper for dependable post-history exports, returning 55 structured fields plus optional stored media. Capture text, senders, dates, views, replies, forwards, reactions, topics, service events, links, hashtags, and media from any public username.

Pricing

from $0.30 / 1,000 messages

Rating

4.6

(4)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

21

Bookmarked

768

Total users

90

Monthly active users

3 days ago

Last modified

Share

Telegram Channel Message is a telegram channel scraper that exports public post history as 55-field Dataset rows with optional stored media, built for developers and data teams.

  • Public channel input: use a bare username, @handle, or canonical t.me URL without supplying Telegram credentials.
  • Message-level context: retain source links, sender facts, replies, threads, forwards, reactions, service events, and media metadata.
  • Three media scopes: return metadata only, store photos, or store supported photo and document-based media.
  • Ordered persistence: write results in small batches while channel history is read.

Run a one-result test · View API

A one-result text test bills one $0.01 Actor Start plus at most one $0.00035 Result at FREE event prices; source access can still produce no publishable row.

What does Telegram Channel Message do?

Telegram Channel Message resolves one public Telegram username and converts its visible messages or service events into structured, ordered Dataset rows.

Each row can include chat identity, text, source date, sender information, views, replies, forwards, reactions, forum topics, extracted links, service actions, and media attributes. Files are stored only when the selected media scope requests them and Telegram makes them available.

The Actor is channel-focused but also accepts username-addressable public groups and forums because Telegram represents those public conversation types through related message surfaces. It is not a private-invite client, member directory, sender verification service, sentiment model, or real-time moderation bot.

How do I run Telegram Channel Message?

Run the Actor by supplying a public Telegram username, choosing a media scope, and setting the maximum number of publishable rows.

  1. Open the input page.
  2. Enter https://t.me/telegram, select text, optionally add a start date, and set max_results to 2 for a bounded check.
  3. Start the run and open the default Dataset when it reaches a terminal state.
  4. Confirm the item count, source_url, date, and processed_at before scheduling or increasing the limit.

The shared README scenario is:

{
"telegram_url": "https://t.me/telegram",
"download_medias": "text",
"max_results": 2
}

max_results applies to the whole run. A smaller source history, the free-plan cap, an empty date range, unavailable source records, or a failed request can produce fewer rows.

What data does Telegram Channel Message return?

Telegram Channel Message returns one row per publishable message or service event and documents 55 possible fields; optional source values are omitted when unavailable.

Field groupDataset fields
Chatchat_id, chat_username, chat_title, chat_type, chat_description, chat_member_count
Messageid, source_url, type, date, edit_date, text
Sendersender, sender_id, sender_username, sender_name, sender_flags, sender_rank, sender_boost_count
Threadingtopic_name, reply_to, thread_id, reply_quote, album_id
Engagementview_count, reply_count, forward_count, reactions
Referencesurls, hashtags, link_preview, poll, location, forward_info, via_bot_id
Mediamedia_type, media_name, media_size, media_duration, media_mime_type, media_extension, media_width, media_height, media_emoji, media_streamable, media_round, media_has_stickers, media_url
State and servicerestriction_reasons, service_type, service_info, silent, pinned
Processingprocessor, processed_at

This abbreviated illustrative item follows the public telegram scenario; a real row contains only applicable fields from the 55-field contract:

{
"chat_id": 777000,
"chat_username": "telegram",
"chat_title": "Telegram News",
"chat_type": "channel",
"id": 430,
"source_url": "https://t.me/telegram/430",
"type": "regular",
"date": "2026-07-21T13:20:00+00:00",
"text": "Example public channel post",
"view_count": 1200000,
"media_type": "photo",
"processor": "https://apify.com/username/actor_name",
"processed_at": "2026-08-12T12:00:00+00:00"
}

Export the Dataset as JSON, JSONL, CSV, Excel, XML, or RSS, or retrieve items through the Dataset API.

What inputs can I configure?

You can configure four inputs in schema order, three required and one optional.

InputTypeRequiredBehaviorExample
telegram_urlstringYesPublic username, @handle, t.me/username, or t.me/s/username; private invite links are rejectedhttps://t.me/telegram
download_mediasenum (3 values)Yestext, image, or alltext
start_datestringNoUTC YYYY-MM-DD or relative lookback such as 7 days, 2 weeks, 1 month, or 1 year7 days
max_resultsintegerYesMinimum 1, no schema maximum for paying runs, free-plan cap of 102

Text mode reports media attributes but stores no files. Image mode stores photos. All mode stores supported photos, videos, GIFs, audio, voice, documents, and stickers when available. No end-date, file-size, language, country, or location input is exposed.

What platforms and markets does Telegram Channel Message cover?

Telegram Channel Message covers public, username-addressable Telegram channels, groups, and forums without a country or language restriction in the input contract.

Telegram's Channels FAQ explains that public channels have usernames and links, that new subscribers can see channel history, and that posts expose view counters. Availability still depends on the source, the managed account, regional conditions, target state, and Telegram policy.

The Actor does not crawl linked websites or combine data from other messaging or social platforms. Message language, username, sender label, or channel title must not be treated as proof of nationality, residence, age, profession, or affiliation.

Why use Telegram Channel Message?

Use Telegram Channel Message when a public post stream needs to become a repeatable Apify Dataset instead of a manual copy-and-paste archive.

CapabilityPractical benefit
55-field message contractKeep identity, content, relationships, engagement, media, and processing facts in one row
Source URLs and IDsRevisit a public post and deduplicate downstream by chat plus message ID
Topic, reply, and forward contextPreserve conversation structure for research or alert review
Optional file storageSeparate lightweight text analysis from file collection and storage cost
Batched Dataset writesRetain completed batches from a long run that ends before the requested limit
API, schedules, webhooks, and MCPMove the same input into repeatable approved workflows

The main trade-off is source dependence: public visibility, counters, sender facts, media availability, edits, deletions, and rate limits can change between runs.

Who is Telegram Channel Message for?

Telegram Channel Message is for developers, analysts, researchers, and data teams building bounded workflows around public channel history.

Developers can feed ordered rows into a search index, internal dashboard, notification workflow, or approved content pipeline while retaining source IDs and dates.

Analysts can compare visible views, forwards, reactions, links, and topic context across a defined historical window without interpreting those values as verified audience identity or sentiment.

Researchers can preserve public discussion structure through thread_id, topic_name, reply_to, reply_quote, and forward_info while documenting when the observation was processed.

Media teams can collect authorized public files only when they have malware scanning, retention limits, and access controls.

Do not choose this Actor for private invitation links, member lists, identity verification, bulk outreach, live moderation, or continuous streaming. Those require different permissions and data contracts.

How can I use Telegram Channel Message through the API or MCP?

Use public Actor ID TpLqaxMYSJzwVnXoj or name form truefetch/telegram-channel-message through Apify's API and MCP surfaces.

HTTP

curl -X POST "https://api.apify.com/v2/acts/TpLqaxMYSJzwVnXoj/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"telegram_url":"https://t.me/telegram","download_medias":"text","max_results":2}'

MCP

Follow the official Apify MCP documentation, connect https://mcp.apify.com/?token=YOUR_TOKEN, and call the Actor with:

{
"actor": "truefetch/telegram-channel-message",
"input": {
"telegram_url": "https://t.me/telegram",
"download_medias": "text",
"max_results": 2
}
}

For asynchronous work, start the Actor, poll the run, and then read its defaultDatasetId. The live API page provides generated SDK and endpoint examples.

How much does Telegram Channel Message cost?

At FREE prices, each Result costs $0.00035, Actor Start costs $0.01, and the smallest one-result text run totals $0.01035.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
Actor Start (once per run)$0.01000$0.01000$0.01000$0.01000$0.01000$0.01000
Result (per Dataset row)$0.00035$0.00032$0.00028$0.00026$0.00026$0.00026
Media (per stored file)$0.00080$0.00072$0.00064$0.00060$0.00060$0.00060

Smallest useful test: $0.01000 + 1 × $0.00035 = $0.01035 when text mode stores no media. Actor Start uses one event per GB with a minimum of one; the default 128 MiB run incurs the minimum. Check the live pricing page because prices can change.

How does Telegram Channel Message compare with alternatives?

Telegram Channel Message is the best fit when a public username must feed a structured Apify Dataset, API, schedule, webhook, or MCP workflow.

PathBest fitTrade-off
Manual Telegram reviewA few posts that need immediate human contextNo repeatable structured export
Telegram Desktop exportAn account owner making an offline personal archiveNot designed as an Apify Dataset pipeline
Custom Telegram clientTeams that need full control over credentials and recoveryRequires authentication ownership, engineering, monitoring, storage, and maintenance
Member-focused data toolVisible participant recordsDoes not replace message-history rows

Telegram's own Desktop export is better for users who control an account and need an offline personal copy. Choose another path for private access, member enumeration, real-time event streaming, cross-platform discovery, or sentiment scoring.

What are the limits and troubleshooting steps?

The Actor is bounded by public username access, Telegram availability, optional history boundaries, file size, execution time, and storage behavior.

  • Input rejected: replace a private invite or unrelated URL with a bare username, @handle, or canonical t.me username URL.
  • Dataset empty: remove start_date, select text, request 1 result, and confirm the public username is accessible in Telegram.
  • Fewer rows than requested: check the free-plan cap, source history, date window, and returned message IDs; max_results is a ceiling rather than a guarantee.
  • Missing sender or topic fields: treat them as source-absent; do not infer identity or copy the chat name into sender fields.
  • Media not stored: confirm image or all, inspect media_type and the Key-Value Store, then retry a single known public media post.
  • Long run ends early: narrow start_date or reduce max_results; completed Dataset batches remain available.

Open Issues with the run ID, exact sanitized input, expected rows, actual rows, and media mode. Never include API tokens, Telegram sessions, credentials, or private files.

Frequently asked questions

The questions below address public access, export behavior, scheduling, fields, and billing.

How do I scrape telegram channel posts?

Use a public channel username or t.me URL, choose text, image, or all, and set max_results; private invitation links are rejected.

Can I create a telegram channel message export?

Yes. Each publishable post becomes an ordered Dataset row that can be exported as JSON, JSONL, CSV, Excel, XML, or RSS.

Is there a free Telegram channel API?

Apify may provide platform credits or allowances, but configured event prices still apply; the smallest FREE-price one-result text run totals $0.01035.

Can I schedule runs to monitor Telegram channels over time?

Yes. Use Apify schedules and a recent relative start_date, then deduplicate downstream by chat identity and message id because there is no cross-run checkpoint input.

Are view_count values unique viewers?

No. The Actor preserves Telegram's visible counter, and Telegram states that channel views are approximate and can count repeat views after time passes.

Why is sender missing on some channel posts?

Unsigned channel posts identify the channel rather than a separate person, so the Actor leaves person-level sender fields absent instead of inventing an identity.

Does all guarantee every file?

No. all requests supported media classes, but source availability, size, access, download, or storage failures can leave media_url absent.

These three TrueFetch Actors extend the workflow into profile, participant, or adjacent public-post data.

  • Telegram Profile resolves public Telegram profile and chat metadata when message history is not required.
  • Telegram Group Member targets visible participant records instead of channel posts.
  • Reddit Community Post provides an adjacent public-community post Dataset for cross-source research.

Support

Get product help from the TrueFetch community, or use the Store page, API page, and Issues for the relevant workflow.

Run a one-result channel test · Open the Telegram Channel Message API

Last Updated: August 12, 2026