Telegram Keyword Search Scraper - Posts by Keyword, No Login
Pricing
from $2.00 / 1,000 results
Telegram Keyword Search Scraper - Posts by Keyword, No Login
Finds public Telegram posts that mention your keywords: channels about each keyword are found for you, then Telegram's own search runs inside each. One row per post with text, date, views, reactions, media and links, plus channel subscribers, reach and a fake-subscriber hint. No account or API key.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🔎 Telegram Keyword Search Scraper: Posts by Keyword, No Login
Find what public Telegram channels say about a keyword, a brand or a product. Give it words; it finds public channels about each word and runs Telegram's own search inside every one of them. You get one row per matching post with its text, date, views, reactions, media and links, plus the channel's subscribers, average post reach and a hint when the subscribers look bought. No Telegram account, no API key, no phone number. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.
Price: pay per post saved. Until 9 November 2026 a post costs $0.0025; from 10 November the Actor is free while the new price is announced; then $0.0015 per post on the Free plan, $0.00135 Bronze, $0.00128 Silver and $0.0012 from Gold up. A post found by two keywords is charged once. Channels without results, channels without a public preview and errors cost nothing.
🔎 What is the Telegram Keyword Search Scraper?
Telegram has no public search across channels for people without an account, and the app's global search shows only a handful of channels. This Actor does it in two steps:
- Find channels. For each keyword it reads TGStat's public channel directory (tgstat.com), which lists Telegram channels by topic. A visitor gets the first 30 channels per sort order, and seven orders (subscribers, reach, engagement, growth today, yesterday, this week, this month) give up to about 130 different channels per keyword.
- Search inside them. Each channel is searched with the search box Telegram itself puts on a channel's public web preview (
t.me/s/<channel>?q=<keyword>). The matching is Telegram's, so word forms and other languages behave as they do in the app.
You can add your own channels, turn discovery off to search only those, filter by date and skip small channels.
What data does it extract?
- The post: text with line breaks, date, link, edited flag, views, every reaction with its count, author signature
- Media: photo links, video links and length, media types (photo, video, document, voice, poll, sticker)
- Links: links in the text, link preview title and description, hashtags and @mentions
- Context: forwarded from (name and link), reply-to link
- Channel: name, title, subscribers (from Telegram), description
- Directory stats (TGStat): subscribers, average views of one post, citation index, topic, and reach ratio (average reach divided by subscribers)
- Which keyword found the post and how the channel was found
How it compares
What users of keyword search Actors on Telegram run into, and what this one does:
| What you run into elsewhere | This Actor |
|---|---|
| Results come from a web search engine's index, so only pages Google happened to crawl appear, one post per page | Telegram's own search inside each channel: the newest matches, about 22 per channel and keyword |
| Channel discovery charged as a separate event on top of each message | Discovery is free; you pay per post saved |
| A big channel with bought subscribers looks as important as a real one | tgstat_reach_ratio shows it: 998,656 subscribers with 111 views per post gives 0.0001 |
| No way to add the channels you already know | channels adds them to every keyword, or alone with discovery off |
| Reruns return the same old posts | postedAfter keeps a scheduled run to new posts |
⬇️ Input
| Field | Type | Default | What it does |
|---|---|---|---|
keywords | array | sample bitcoin | Words to find, one per line. Each gets its own channel search. |
channels | array | none | Public channel names, @handles or t.me links to search for every keyword too. |
discoverChannels | boolean | true | Find channels in TGStat's directory. Off: only channels are searched. |
maxChannelsPerKeyword | integer | 30 | Found channels to search per keyword (up to 200; about 130 can be found). |
maxPostsPerChannel | integer | 20 | Matching posts per channel, newest first. |
maxResults | integer | 50 | Posts in total; the run stops there. |
postedAfter | date | none | Only posts from this UTC date on. |
minSubscribers | integer | none | Skip found channels with fewer subscribers (your own channels are always searched). |
Example input
{"keywords": ["chatgpt", "openai"],"maxChannelsPerKeyword": 100,"maxPostsPerChannel": 20,"maxResults": 2000,"postedAfter": "2026-10-01","minSubscribers": 5000}
⬆️ Output
{"keyword": "bitcoin","id": "crypto_traders_altcoins/9828","message_id": 9828,"url": "https://t.me/crypto_traders_altcoins/9828","channel": "crypto_traders_altcoins","text": "Michael Saylor's company, MSTR, achieved a remarkable 77.4% gain ...","posted_at": "2026-10-25T19:00:09+00:00","edited": true,"views": 25000,"reactions": [{"emoji": "🔥", "count": 222}, {"emoji": "❤", "count": 75}],"reactions_total": 370,"author": null,"forwarded_from": null,"media_types": [],"photo_urls": [],"video_urls": [],"links": ["http://rainbet.com/"],"hashtags": [],"mentions": [],"channel_title": "Crypto Traders — Altcoins | Bitcoin | Cryptocurrency","channel_subscribers": 293000,"discovered_by": "tgstat:participants","tgstat_category": "Cryptocurrencies","tgstat_subscribers": 293308,"tgstat_avg_post_reach": 29200,"tgstat_citation_index": 0.0,"tgstat_reach_ratio": 0.0996,"scraped_at": "2026-10-26T10:02:11.418Z"}
A run summary (keywords, channels searched, channels without a preview, posts saved, why it stopped) is stored as SUMMARY in the run's key-value store.
Speed (measured from a server, not yet on Apify): 40 posts in 6 s; 825 posts for two keywords over 120 channels in 23 s.
💡 Use cases
- 📣 Brand monitoring: a daily scheduled run with
postedAfterset to yesterday shows every new post that names your brand or product. - 🪙 Crypto and finance research: what channels say about a token, an exchange or a stock, with views and reactions per post.
- 🕵️ Influencer and channel vetting: the reach ratio and citation index separate channels with an audience from channels with bought subscribers.
- 🧠 Datasets for AI and analysis: post text with dates and engagement for sentiment, topic or trend analysis.
🤖 For AI agents
One input to copy:
{"keywords": ["your brand"], "maxResults": 100}
All inputs are optional; no credential is needed. Rows have the same fields every time; keyword says which word found the post.
Limits
- About 22 posts per channel and keyword. That is what Telegram's preview search shows a visitor (the newest matches). More posts come from more channels or more keywords, not from deeper paging.
- About 130 channels per keyword. TGStat shows a visitor the first page of each sort order; further pages need a TGStat account and are not read. Add channels you know through
channels. - Public channels only. Groups, private channels and channels that turned off their web preview cannot be searched; they are counted in the summary and not charged.
- Counts are rounded by Telegram (25K views). TGStat's numbers come from TGStat and can differ a little from Telegram's own count.
- Discovery uses TGStat's directory, which covers many languages but not every channel.
❓ FAQ
Do I need a Telegram account or API key? No. Everything is read from public web pages: Telegram's channel previews and TGStat's directory.
How is a post matched? By Telegram's own channel search, the same one the app uses. A few results match a related word form rather than the exact word.
Why fewer posts than I asked for? Telegram shows about 22 matches per channel, and some channels have none. The status message and the SUMMARY record say how many channels were searched.
Can I search only my own list of channels? Yes: put them into channels and set discoverChannels to false.
Can I run it every day? Yes. Schedule it and set postedAfter to a recent date so each run pays only for new posts.
What does tgstat_reach_ratio mean? Average views of one post divided by subscribers. Healthy channels are often around 0.05 to 0.5; a value near 0 with many subscribers hints at bought subscribers.
Is a post charged twice when two keywords find it? No. It is saved and charged once, with the first keyword that found it.
What happens when the run is stopped or moved? Progress is saved; a resumed run skips the channels it finished and the posts already in the dataset.
Is it legal? It reads public posts that channel owners publish for anyone to see. You are responsible for how you use them: respect GDPR and other privacy laws when posts contain personal data, and do not use them for spam (CAN-SPAM).
🔗 You might also like
- Telegram Channel Scraper: the whole history of channels you name, back to the first post
- Reddit Search Scraper: keyword search across Reddit
- Threads Search and Profile Scraper: public Threads posts
Keywords: telegram keyword search, telegram search scraper, search telegram channels, telegram post scraper, telegram brand monitoring, telegram mentions, telegram channel finder, tgstat channels, telegram crypto signals, telegram messages export, telegram scraper no login, telegram api alternative, telegram data, telegram monitoring, telegram csv export, telegram osint