Telegram Channel Monitor avatar

Telegram Channel Monitor

Under maintenance

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Telegram Channel Monitor

Telegram Channel Monitor

Under maintenance

Collect new posts and media from public Telegram channel previews.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Headless Agent

Headless Agent

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Collect new posts from public Telegram channels, including text, timestamps, view counts, author attribution, media links and public post URLs. Schedule repeat runs to receive new posts without repeating posts already delivered.

Supply a channel username, an @username, or its public channel URL. Private channels and channels without a public preview produce a warning while other channels continue. A run fails if every channel fails.

InputDescription
channelsRequired list of public channels, maximum 50.
maxPostsMost recent matching posts per channel per run. Default 100, maximum 1,000. A bounded scan may return fewer.
sinceMessageIdOptional floor: only message IDs greater than this value are eligible.
keywordOptional case-insensitive substring filter on post text.
includeMediaInclude exposed media URLs. Default true. False keeps the post and media type but returns an empty media URL list.
stateKeyMonitoring profile name. Keep the same value for scheduled runs; default telegram-channel-monitor-state.

Example input:

{"channels":["durov"],"maxPosts":100,"includeMedia":true}
OutputDescription
channelUsername, channelTitlePublic channel username and display title.
messageId, urlMessage identifier and public post link.
datePost timestamp in UTC.
text, textHtmlPlain text and original formatted text. Sanitize HTML before displaying it in a browser.
mediaTypephoto, video, voice, poll, document, or none.
mediaUrlsAvailable media links; these can expire. Files are not downloaded.
linkPreviewUrlLinked preview destination, or null.
viewsApproximate view count, or null when absent.
forwardsNull when no forward count is exposed; currently unavailable.
author, forwardedFromVisible author and forwarded attribution, or null.
isReplyWhether reply markup is shown.
observedAtObservation timestamp in UTC.

Example result:

{"channelUsername":"durov","channelTitle":"Pavel Durov","messageId":531,"url":"https://t.me/durov/531","date":"2026-07-16T20:45:25.000Z","text":"🩵 Telegram now has a Rich Text Editor.\n\nIt supports tables, headings, inline media, lists, AI content, formulas, and more.\n\n😈 Messaging apps will never be the same!","textHtml":"🩵 Telegram now has a <b>Rich Text Editor</b>.<br><br>It supports tables, headings, inline media, lists, AI content, formulas, and more.<br><br>😈 Messaging apps will never be the same!","mediaType":"video","mediaUrls":[],"linkPreviewUrl":null,"views":5850000,"forwards":null,"author":"Pavel Durov","forwardedFrom":null,"isReply":false,"observedAt":"2026-10-27T16:00:00.000Z"}

Each channel's selected posts are delivered oldest-first. The first run collects a recent snapshot up to your limit. Later runs collect only posts newer than the last delivered message; older posts outside the initial snapshot are not backfilled. Changing a keyword does not replay older posts, and edits to delivered posts are not repeated. Use a new monitoring profile to start a fresh snapshot.

Run one schedule at a time for each profile. Interrupted delivery can repeat the last batch. Public preview availability and formatting can change; unrecognized pages are reported as channel warnings. Runs that successfully find no new posts return zero results.