Telegram Channel Scraper — Keyword Search in Public Channels avatar

Telegram Channel Scraper — Keyword Search in Public Channels

Pricing

from $0.69 / 1,000 results

Go to Apify Store
Telegram Channel Scraper — Keyword Search in Public Channels

Telegram Channel Scraper — Keyword Search in Public Channels

Search public Telegram channels for keywords and get every matching post with date, text, views, reactions, photos and links. Or get all posts from the last N days. No login, no API key.

Pricing

from $0.69 / 1,000 results

Rating

0.0

(0)

Developer

Nogards

Nogards

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Search public Telegram channels for keywords and get every matching post with date, text, views, reactions, photos and links, as clean JSON. No login, no Telegram account, no API key.

Who is this for

Crypto and trading analysts tracking announcements and signals, OSINT and threat-intelligence teams watching channels, PR and brand teams monitoring mentions, and news or market researchers following Telegram-first sources.

What you get

  • Every post from the channels you choose in the last N days, filtered by your keywords, or all posts if you leave keywords empty.
  • Engagement on each post: views, the reactions breakdown (including paid Star reactions) and a reactions total.
  • Media and context: photo URLs, links, hashtags, link previews, replies and forwards, plus the channel's title and subscriber count.

Sample output

{
"channel": "bitcoin",
"channelTitle": "Bitcoin",
"channelSubscribers": 183000,
"postId": 20485,
"url": "https://t.me/bitcoin/20485",
"date": "2026-10-07T12:02:55.000Z",
"matchedKeywords": [
"ETF"
],
"text": "JUST IN: 🟠 American Banker desperately tries to hide Bitcoin’s success.\n\n• $100B+ in ETFs, and they say no one uses it.\n\n• Compares Bitcoin to memecoins.\n\n• Says BTC volume has been falling for 10 years.\n\n👉 The cope is loud.\n\nSource: https://x.com/BitcoinArchive/status/2107543900617662736",
"views": 5610,
"reactions": [
{
"emoji": "🤣",
"count": 32,
"paid": false
},
{
"emoji": "❤",
"count": 8,
"paid": false
},
{
"emoji": "👍",
"count": 8,
"paid": false
},
{
"emoji": "⚡",
"count": 6,
"paid": false
},
{
"emoji": "🔥",
"count": 1,
"paid": false
},
{
"emoji": "🤔",
"count": 1,
"paid": false
},
{
"emoji": "🤬",
"count": 1,
"paid": false
}
],
"reactionsTotal": 57,
"photos": [
"https://cdn1.telesco.pe/file/CRjd706Gei3JthZkVYr7H0xZ3FwV6dqJko0ecFvexKHwqfgQy7Z3KhJegGC2Hz6ntSMPfKUfgi3pIbFESKR3diI8tl9EbPP1Jrdhm6GbZluyacbbR1i28Z6vacxgp7gB6p8DcgUBOjLlJ9iBharYRhSe91lHvWJwgBbqYZlev1AM_Nqmug3HqNZSqCLpGcimNtoOx8Mw_TodcsXdKxoRFi_jyxZLmxOgCZCOivQFJORQccs_aDQ25sAdKqTROvVO_sAHah5GAwpa3FZriT527nxDit5uK8YcqV8ie3EDkqljfnE-oC8u9_KUurwiBeYHyfXPivlKoD7pHFUwdzKJRQ.jpg"
],
"hasVideo": false,
"hasDocument": false,
"links": [
"https://x.com/BitcoinArchive/status/2107543900617662736"
],
"hashtags": [],
"linkPreview": null,
"isForwarded": false,
"forwardedFrom": null,
"replyToUrl": null,
"authorSignature": null,
"isEdited": false
}

Input

FieldDescription
channelsPublic channel usernames or links, e.g. durov, @cointelegraph, https://t.me/whale_alert_io. Up to 100 per run.
keywordsReturn only posts containing any of these words or phrases. Leave empty for every post in the time window.
daysBackHow many days back to search in each channel. Default 3, max 90.
maxResultsStop after this many posts in total. Default 50, 0 = no limit.

Example runs

Bitcoin ETF news from two crypto channels over the last month:

{ "channels": ["cointelegraph", "bitcoin"], "keywords": ["ETF"], "daysBack": 30, "maxResults": 0 }

Everything a channel posted this week:

{ "channels": ["binance_announcements"], "daysBack": 7, "maxResults": 0 }

Large transfers of stablecoins tracked by a whale-alert channel today:

{ "channels": ["whale_alert_io"], "keywords": ["USDT", "USDC"], "daysBack": 1, "maxResults": 0 }

Pricing

You pay per post returned, not per post read. A channel that cannot be read (see below) appears as a single row explaining why.

Technical notes

  • Public channels only. Groups, private channels and invite links cannot be read. Each channel that cannot be read comes back as a row with an errorCode, so you always know why it returned nothing:
    • not_found: no public channel with this username;
    • group_not_supported: the name belongs to a group, not a channel;
    • preview_disabled: the owner turned off the public web preview;
    • channel_unavailable: the channel exists but Telegram does not show its posts publicly (often a legal or regional restriction);
    • invalid_channel: not a valid username or link.
  • Keyword matching ignores case and accents and starts at a word boundary: eth matches "Ethereum" but not "method", and bitcoin matches "bitcoins". Phrases (etf approval) and hashtags (#Aave) match as written. The post text and the link preview title are searched.
  • views, channelSubscribers and reaction counts are Telegram's rounded figures (e.g. 18.2K → 18200).
  • Photo URLs are served by Telegram's CDN and may expire. Download them if you need to keep them.