Telegram Channel Search – Find Channels by Keyword avatar

Telegram Channel Search – Find Channels by Keyword

Pricing

from $3.00 / 1,000 channel results

Go to Apify Store
Telegram Channel Search – Find Channels by Keyword

Telegram Channel Search – Find Channels by Keyword

Find public Telegram channels and groups by keyword or from seed channels. Snowball via forwards, links and mentions. Subscribers, verified flag, last post, matching posts. No login. $3 per 1,000 channels.

Pricing

from $3.00 / 1,000 channel results

Rating

0.0

(0)

Developer

Ryu Moon

Ryu Moon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Security

Limited permissions

Share

Telegram Channel Finder & Keyword Search (No Login)

Find public Telegram channels and groups about any topic, with subscriber counts, verified badge, last post date and the posts that match your keywords. Start from a few seed channels, a few keywords, or both. No Telegram account, phone number, bot token, API key or paid search API needed. Export to JSON, CSV, Excel or Google Sheets.

Use with AI agents (MCP, Claude, ChatGPT, Cursor)

Purpose: Find public Telegram channels and groups about a topic or keyword, with subscriber counts, last post date and sample matching posts. No login.

When to use it

  • The user wants a list of Telegram channels about a topic, coin, brand or niche (for outreach, research or monitoring).
  • You have a few known channels and want related ones (snowball discovery through forwards, links and @mentions).

When not to use it

  • To collect the full post history of known channels, use Telegram Channel Scraper instead.
  • It does not search Google and will not find every channel on a topic; good seedChannels give the best results.

Example input

{
"keywords": [
"solana"
],
"seedChannels": [
"tginfo"
],
"minSubscribers": 1000,
"maxChannels": 20
}

Output fields (one dataset item per row): username, url, title, type (channel/group), subscribers, members, verified, lastPostDate, avgViewsRecentPosts, matchedKeywords, matchingPostsFound, sampleMatches (link, date, views, snippet), description, lastPostUrl, referencedTimes, discoveredVia, discoveredFrom, depth.

Cost: $0.005 per run + $0.003 per channel returned (20 channels ≈ $0.07). Cap spend with maxChannels.

Connect it to your agent: add this remote MCP server (Apify's official MCP server, loaded with just this tool):

{"mcpServers": {"telegram-channel-finder": {"url": "https://mcp.apify.com?tools=ryumoon-data/telegram-channel-finder"}}}

Or call it from any agent with the Apify API: POST https://api.apify.com/v2/acts/ryumoon-data~telegram-channel-finder/run-sync-get-dataset-items with the input above as the JSON body. Agents without an Apify account can pay per run with agentic payments (x402, MPP or Skyfire).

How it finds channels (honest version)

Telegram has no public "search all channels" page, so this Actor uses three free, transparent methods:

  1. Snowball discovery from seed channels: it reads each seed's recent posts (the public t.me/s/<channel> preview) and collects every channel they forward from, link to or @mention, plus channels listed in channel descriptions. With Discovery depth 2 it repeats this on the channels it found.
  2. Username probing from keywords: for a keyword like bitcoin it checks likely usernames such as bitcoin, bitcoinnews, bitcoinchannel, thebitcoin, bitcoin_news and keeps the ones that exist.
  3. Keyword search inside each channel: it uses Telegram's own public in-channel search to count matching posts and return sample matches, and (by default) keeps only channels that match.

It does not query Google or other search engines, so it will not find every channel on a topic. It finds channels connected to your seeds and to likely usernames. Good seeds (directories, news aggregators, the big channels in your niche) give the best results.

What you get

  • 📇 Channel metadata: username, link, title, description, subscriber count (members for groups), verified badge, scam/fake label, profile photo, media counts.
  • 📅 Activity: last post date and link, average views of recent posts.
  • 🔎 Keyword matches: which keywords matched, how many matching posts Telegram's search returned (first page, up to 20 per keyword) and sample posts with link, date, views and a snippet.
  • 🧭 Discovery trail: how each channel was found (seed, forward, link, mention, description, username-probe), from which channel, at what depth and how often it was referenced.
  • 🎯 Filters: minimum subscribers, posted within N days, only keyword matches, include or exclude groups.

What it never does

  • ❌ No member lists, no user profiles, no phone numbers, no private chats. Personal accounts and bots it comes across are skipped and nothing about them is saved.
  • ❌ No login: it sees only what a logged-out visitor sees on t.me.

Use cases

  • Influencer and ad outreach: build a list of channels in your niche with audience size and activity.
  • Market and competitor research: map the Telegram ecosystem around a brand, coin, product or topic.
  • Brand monitoring: find channels that talk about your brand and see sample posts.
  • OSINT and journalism: trace which channels forward and promote each other.
  • Feed it into our Telegram Channel Scraper & Keyword Monitor to collect full post histories of the channels you found.

How much does it cost?

This Actor uses pay-per-event pricing. You pay only for these events:

EventPriceWhen it is charged
Actor start$0.005Once per run (at the default 1 GB memory)
Channel result$0.003Each channel or group saved to the dataset ($3 per 1,000)

Candidates that are checked but filtered out (no keyword match, too small, inactive, bots, personal accounts, non-existent usernames) are not charged.

Examples:

  • 20 channels: $0.005 + 20 × $0.003 = $0.065
  • 100 channels: $0.005 + 100 × $0.003 = $0.305

Use Max channels to return or a maximum cost per run in Apify Console to cap spend.

Input

FieldWhat it doesDefault
seedChannelsChannels to start fromprefill ["tginfo", "tchannels"]
keywordsTopic wordsnone
probeUsernamesFromKeywords, maxProbesPerKeywordTry usernames like <keyword>newstrue, 12
maxDepth0 = seeds only, 1 = + referenced channels, 2 = + their references1
pagesPerChannel~20 posts per page read for discovery1
searchPostsForKeywordsUse Telegram's in-channel search for each keywordtrue
onlyMatchingChannelsKeep only keyword matches (when keywords are set)true
includeSeedChannels, includeGroupsInclude seeds / public groupstrue, true
minSubscribers, activeWithinDaysSize and activity filters0, 0
maxSampleMatchesSample posts per channel3
maxChannels, maxCandidatesLimits50, 300
maxConcurrency, requestDelayMs, maxRequestRetries, proxyConfigurationAdvanced3, 500, 4, none

Examples:

{ "keywords": ["bitcoin"], "maxChannels": 30 }
{ "seedChannels": ["tginfo"], "keywords": ["android"], "maxDepth": 2, "minSubscribers": 1000, "activeWithinDays": 30 }

Output (one row per channel or group)

Real row from sample-output.json (photo URL trimmed):

{
"username": "android",
"url": "https://t.me/android",
"type": "channel",
"title": "Android GameTech",
"description": "We show and tell about technologies, games and equipment.",
"subscribers": 6660,
"members": null,
"verified": false,
"scamOrFakeLabel": false,
"hasWebPreview": true,
"photoUrl": "https://cdn4.telesco.pe/file/…",
"mediaCounts": { "photos": 85, "videos": 27, "files": null, "links": 11 },
"lastPostDate": "2026-06-01T08:44:21.000Z",
"lastPostUrl": "https://t.me/android/130",
"avgViewsRecentPosts": 26253,
"isSeed": false,
"depth": 0,
"discoveredVia": ["username-probe"],
"discoveredFrom": [],
"referencedTimes": 0,
"matchedKeywords": ["android"],
"matchingPostsFound": 4,
"sampleMatches": [
{
"keyword": "android",
"url": "https://t.me/android/74",
"date": "2025-05-30T11:43:32.000Z",
"views": 4880,
"text": "iOS 19 will allow you to transfer eSIM from iPhone to Android on your own."
}
],
"scrapedAt": "2026-11-02T09:14:50.427Z"
}

Groups and channels with the web preview turned off have hasWebPreview: false and only title, description and subscriber/member count (no posts, so no last post date or matches beyond the title and description).

Limits (please read)

  • Not a full index of Telegram. Discovery is limited to channels connected to your seeds and to likely usernames. Results depend heavily on the seeds you choose.
  • Matching post counts are capped at one page of Telegram search results (up to about 20 per keyword per channel), so treat matchingPostsFound as "at least".
  • Subscriber counts are as Telegram shows them (large numbers are rounded, e.g. 1.09M).
  • Username probing can find unrelated channels that happen to use the name; with keywords set, only channels whose username, title, description or posts contain the keyword are kept.
  • Photo URLs come from Telegram's CDN and may expire.

FAQ

Do I need a Telegram account? No. Everything comes from public t.me pages anyone can open in a browser.

Can I search with only keywords? Yes. The Actor probes likely usernames and then snowballs from the ones that exist. Adding a couple of seed channels from your niche usually finds many more.

Why wasn't a channel I know found? Nothing in your seeds referenced it and its username doesn't match the probe patterns. Add it (or a channel that mentions it) as a seed, or raise Discovery depth.

Can it export group members? No, by design.

Is it legal? It only reads public pages and returns channel-level information. Sample posts are public posts from public channels. You are responsible for how you use the data, including GDPR where it applies. Defaults are deliberately polite.

Changelog

  • 0.1 – first release: snowball discovery (forwards, links, mentions, descriptions), username probing, in-channel keyword search, filters.