Telegram Channel Scraper – No API Key avatar

Telegram Channel Scraper – No API Key

Pricing

from $0.20 / 1,000 results

Go to Apify Store
Telegram Channel Scraper – No API Key

Telegram Channel Scraper – No API Key

$0.20 per 1,000 posts. No API key, no phone number, no login: it reads the public t.me/s/ web preview, the same page your browser sees. Posts, views, reactions, media, subscriber counts as flat JSON. Keyword alerts on a schedule.

Pricing

from $0.20 / 1,000 results

Rating

0.0

(0)

Developer

Alexandr Maier

Alexandr Maier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Telegram Channel Scraper & Keyword Monitor

Scrape public Telegram channels and monitor them for keywords — no API key, no phone number, no login. Built for reliability and for AI agents: clean, flat, predictable JSON on every run.

This actor reads Telegram's public web preview (t.me/s/<channel>), the same data any browser sees when you open a channel without an account. It never logs in, never touches your Telegram account, and never asks for a phone number.

Why this one

Most Telegram actors do the same basic dump. Two things break them in production, and this actor fixes both:

  • They crash on rate limits. This actor retries every request with exponential backoff and can fall back to Apify Proxy, so a long run finishes instead of dying at channel #7.
  • They only scrape, they don't watch. Monitor mode remembers the last post it saw per channel and returns only new posts on each scheduled run — turn any channel list into a keyword alert feed.

What you get per message

{
"channel": "durov",
"channelTitle": "Pavel Durov",
"channelSubscribers": 11700000,
"id": 510,
"url": "https://t.me/durov/510",
"datetime": "2026-05-12T17:28:39+00:00",
"text": "🌍 With 400 validators across 6 continents, TON is one of the most…",
"views": 3440000,
"reactions": [
{ "emoji": "🔥", "count": 12045, "type": "unicode" },
{ "emoji": null, "count": 132000, "type": "custom", "emojiId": "5265077361648368841" },
{ "emoji": null, "count": 14300, "type": "paid" }
],
"media": ["photo"],
"forwardedFrom": null,
"links": ["https://ton.org"],
"matchedKeywords": ["ton"],
"scrapedAt": "2026-07-10T12:00:00.000Z"
}

Input

FieldTypeDescription
channelsarray (required)@name, name, or https://t.me/name
keywordsarraySave only posts containing a keyword (case-insensitive). Empty = save all
keywordMatchsubstring | wordSubstring (default) or whole-word matching
modescrape | monitorscrape = history; monitor = only new posts since last run
maxPostsPerChannelintegerCap on posts scanned per channel (default 100)
postsNewerThanISO dateStop paging once older posts are reached
minViews / minReactionsintegerSkip low-engagement posts
useProxybooleanRoute via Apify Proxy (only needed for large jobs)

Example: monitor three news channels for a brand

{
"channels": ["telegram", "durov", "bloomberg"],
"keywords": ["bitcoin", "regulation", "SEC"],
"keywordMatch": "word",
"mode": "monitor"
}

Schedule this every 15 minutes and the dataset fills only with new, on-topic posts.

Use cases

  • Brand & crypto monitoring — alert when your project, ticker, or competitor is mentioned across channels.
  • OSINT & news — track announcements from public channels into a structured feed.
  • AI agents (MCP) — flat JSON output plugs straight into a RAG pipeline or an MCP tool call ("what did channel X post about Y this week?").
  • Research & analytics — export engagement (views, reactions) over a channel's history.

Pricing (pay-per-event)

EventPrice
Actor start$0.00001
Message saved$0.0002

$0.20 per 1,000 saved messages. You pay only for messages that pass your filters — the start fee is one thousandth of a cent, so there is no charge for a run that finds nothing.

Apify platform usage (compute + storage) is billed to your own account on top. It is small and measured, not guessed: three real runs on 2026-09-21 scraped 200, 273 and 300 posts and used $0.0096–0.0099 of platform usage per 1,000 posts — under 5% of the price above. Scraping 1,000 posts therefore costs about $0.21 all-in, and the Apify free tier covers testing.

Limits & honest notes

  • Works only with public channels that have web preview enabled. Private channels, groups, and comments are not accessible (and scraping them would require an account — out of scope by design).
  • t.me/s/ serves ~20 posts per page; the actor paginates backward through history up to your limit.
  • Reads public preview data only. This actor does not use MTProto, does not collect member lists, and does not require your credentials.
  • You are responsible for complying with Telegram's Terms and applicable law in your use of the data.

Local development

npm install
apify run -p # requires apify-cli and Docker/Node 18+

src/parser.js isolates all HTML parsing — if Telegram ever changes its preview markup, that single file is the only thing to update.