Telegram Scraper API – Channels & Keyword Search, No Login avatar

Telegram Scraper API – Channels & Keyword Search, No Login

Pricing

from $0.90 / 1,000 keyword matches

Go to Apify Store
Telegram Scraper API – Channels & Keyword Search, No Login

Telegram Scraper API – Channels & Keyword Search, No Login

Telegram channel scraper and Telegram keyword search API, no login: export public channel messages, search keywords, hashtags and brand mentions, find channels for a topic, pull emails and links for leads, and monitor new posts. 500 messages free monthly.

Pricing

from $0.90 / 1,000 keyword matches

Rating

0.0

(0)

Developer

K-Data Lab

K-Data Lab

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Telegram Channel Scraper & Keyword Search API, No Login

Search public Telegram channels for any keyword or hashtag, export a channel's message history, and collect the contacts channels publish, with no account, phone number or API key. Give keywords, channels or both. You get one clean row per message with text, date, views, reactions, media, links, emails and channel details.

Your first run is free. The prefilled search takes about 10 seconds. Every month the first 100 keyword matches and 500 channel messages are free, then $1.20 per 1,000 keyword matches or $0.25 per 1,000 channel messages. The $0.005 run start fee fits easily in the $5 credit of Apify's Free plan.

Real rows from a search for anthropic on 4 November 2026:

ChannelSubscribersDateMessageViewsReactions
FinancialJuice8,3752026-10-30Japan asks Anthropic and OpenAI for more access to advanced models - Nikkei4341
data_secrets95,9092026-10-14В Anthropic перестали использовать git, теперь у них собственная система…30,800329
data_secrets95,9092026-10-26⚡️ Самое главное по IPO Anthropic одним словом25,800467

🚀 Pick your starting point

You wantPaste this input
Telegram keyword search{ "keywords": ["bitcoin etf"], "since": "7 days" }
Telegram channel messages{ "channels": ["durov"], "maxMessagesPerChannel": 200 }
Brand mentions on Telegram{ "keywords": ["your brand"], "onlyNewMessages": true }
Telegram leads for a topic{ "keywords": ["crypto marketing"], "resultType": "channels", "onlyWithContacts": true }
Channel stats and subscribers{ "channels": ["durov"], "resultType": "channels" }

🔍 What does it do?

  • Keyword search across Telegram. Type a keyword. We find public channels about it, then run Telegram's own search inside each one.
  • Keyword search in your channels. Give a watchlist and search only those.
  • Channel history. Export the messages of any public channel, newest first, with date windows.
  • Channel lookup and finder. Get title, bio, exact subscriber count and last post date, for channels you name or for a topic.
  • Contacts for leads. Pull the emails, @handles and links a channel publishes in its bio or posts. Keep only rows that have one with onlyWithContacts.
  • Brand and social monitoring. Turn on onlyNewMessages, schedule the run, and each run returns and charges only what's new.
  • Any language. We tested English, Korean, Russian, German and Portuguese.

💡 Why choose this actor?

This actorOther Telegram keyword and channel scrapers
Keyword rowsOnly messages with a visible match. The words Telegram matched are in matchedTextOften the latest post of each channel found, which may not mention your keyword
Rows per channelUp to your limit, from Telegram's own searchOften one per page found
Keyword price$1.20 / 1,000About $2 to $4 / 1,000
History price$0.25 / 1,000From about $0.32 / 1,000
Free every month✅ 500 messages + 100 keyword matchesUsually none
Monitoring✅ One switch, memory kept for youSome offer a message-ID cursor you store yourself
Old date windows✅ Jumps straight to the dateVaries
Subscribers✅ Exact (10,139,877), not the web's rounded 10.1MVaries
Contacts✅ Emails, @handles and links from messages and channel biosVaries
Login❌ None, everVaries

Our test runs: 3,000 messages from 2 channels in 64 seconds, 0 retries, 0 duplicates.

📥 Input examples

Find messages about a topic, anywhere on public Telegram:

{ "keywords": ["bitcoin etf"], "since": "7 days", "maxMessagesPerChannel": 20 }

Export channel history:

{ "channels": ["durov", "https://t.me/telegram"], "maxMessagesPerChannel": 200 }

Search only your watchlist:

{ "keywords": ["openai", "anthropic"], "channels": ["FinancialJuice", "data_secrets"], "discoverChannels": false, "since": "30 days" }

Brand monitoring on a schedule:

{ "keywords": ["your brand"], "onlyNewMessages": true, "monitorName": "brand-watch" }

Build a channel list for a topic:

{ "keywords": ["crypto news"], "resultType": "channels", "minSubscribers": 10000 }

Build a lead list of channels for a topic:

{ "keywords": ["crypto marketing"], "resultType": "channels", "onlyWithContacts": true, "minSubscribers": 1000 }

Search one hashtag only:

{ "keywords": ["#ETF"], "exactMatch": true, "since": "7 days" }

Channels accept durov, @durov, https://t.me/durov, or a post link such as https://t.me/telegram/458 for one post. Dates accept 2026-01-31 or 24 hours, 7 days, 2 weeks, 1 month.

InputWhat it does
keywordsWords or phrases to find
channelsPublic channels to read or search
discoverChannelsFind more channels for your keywords (default on)
resultTypemessages, or channels for one row per channel
maxResultsTotal row limit, shared evenly between keywords (default 1,000)
maxMessagesPerChannelLimit per channel, and per keyword (default 100)
maxChannelsPerKeywordChannels to find per keyword (default 20, up to 60)
since, untilDate window
onlyNewMessages, monitorNameMonitoring
minViews, minSubscribers, excludeKeywords, exactMatch, onlyWithMedia, onlyWithContactsFilters. Skipped rows aren't charged
country, languageWhich channels are found, e.g. kr + ko. Doesn't change the messages

📤 Output

{
"recordType": "message",
"keyword": "anthropic",
"source": "discovered",
"channelUsername": "FinancialJuice",
"channelTitle": "FinancialJuice",
"channelSubscribers": 8375,
"messageId": 144051,
"url": "https://t.me/FinancialJuice/144051",
"date": "2026-10-30T15:12:42Z",
"text": "Japan asks Anthropic and OpenAI for more access to advanced models - Nikkei|FJ",
"views": 434,
"reactionsTotal": 1,
"reactions": [{ "emoji": "🔥", "count": 1, "customEmojiId": null, "isPaid": false }],
"matchedText": ["Anthropic"],
"scrapedAt": "2026-11-04T03:20:55Z"
}

Also on each row when present: mediaType, photoUrls, videoUrls, videoThumbnailUrls, videoDurationSecs, voiceUrl, documentName, documentSize, stickerUrl, poll, linkPreview, links, hashtags, mentions, emails, forwardedFrom, forwardedFromUrl, replyToUrl, replyToAuthor, replyToText, authorSignature, isEdited, channelVerified.

Channel rows have channelDescription, channelType, hasPublicPreview, photosCount, videosCount, linksCount, filesCount, latestMessageId, lastPostDate and avatarUrl. Download as JSON, CSV, Excel or XML. RUN_SUMMARY in the key-value store lists every channel with its status.

💰 Pricing

You pay per result, and only for rows you receive. Bronze prices below; Free plan users pay slightly more, Silver and Gold slightly less. The Pricing tab shows every tier.

EventPriceFree each month
Keyword match$0.0012100
Channel message$0.00025500
Channel lookup (a channel you name)$0.000850
Channel found (for a keyword)$0.00220
Run start$0.005–

Examples: 1,000 keyword matches cost $1.205. 10,000 channel messages cost $2.505. A daily brand monitor with 20 new matches a day costs about $0.75 a month after the free 100.

Set a maximum cost per run in the run options and the actor stops cleanly at that limit.

🔁 Monitoring on a schedule

  1. Set your keywords or channels, and turn on onlyNewMessages.
  2. Save it as a task and add a schedule in Apify, hourly or daily.
  3. Send results to Slack, Google Sheets, n8n, Make or Zapier with an Apify integration.

We remember the newest message for each channel and keyword, in a storage on your own Apify account. The first run returns everything within your limits. Use a different monitorName for each schedule. Set your limits above what you expect between runs: with a low limit, the older new messages are skipped.

🔌 API, n8n, Make

curl -X POST "https://api.apify.com/v2/acts/k-data-lab~telegram-channel-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":["bitcoin etf"],"since":"7 days","maxResults":100}'

In n8n or Make, use the Apify module with the actor k-data-lab/telegram-channel-scraper.

🤖 Use it from AI agents (MCP)

Add it as a tool in Claude, Cursor or any MCP client: https://mcp.apify.com?tools=actors,k-data-lab/telegram-channel-scraper.

Ask your agentThe agent sends
What are public Telegram channels saying about this launch this week?keywords, since: "7 days", maxResults: 50
Get the latest messages from the Telegram channel @durovchannels, maxMessagesPerChannel
Find Telegram channels about AI agents with a contactkeywords, resultType: "channels", onlyWithContacts: true
How many subscribers does this Telegram channel have?channels, resultType: "channels"

Every run writes RUN_SUMMARY to the key-value store, with a status for each channel, so an agent can tell an empty result from a wrong name. Use maxResults: 10 for a cheap test.

❓ FAQ

Is there a Telegram API for public channels without a phone number? This actor works as one. Call it over REST or MCP with a channel name or keyword and get JSON back. It reads Telegram's public web pages, so you don't need a phone number, an api_id or a bot token.

How do I get emails from Telegram channels? Set resultType to channels and turn on onlyWithContacts. emails, mentions and links hold what the channel published in its bio. On message rows they come from the post. Many channels list only an @handle.

How do I monitor brand mentions on Telegram? Set your brand as a keyword, turn on onlyNewMessages and schedule the run. Each run returns only new mentions.

Does it search all of Telegram? No tool can without being inside the app. We find relevant public channels with web search, then search inside them. Coverage depends on what web search knows, so add channels you already know to channels. New or tiny channels may not appear.

Why are there fewer rows than my limit? The channels had fewer matches, or your filters skipped them. Check RUN_SUMMARY.perChannel.

Can it read groups or private channels? No. Public groups and some channels have no web preview, so Telegram only shows their messages inside the app. They appear in RUN_SUMMARY as NO_PUBLIC_PREVIEW, and aren't charged. Group member lists and private invite links aren't supported, because they need a logged-in account.

Does it include comments? Not yet. Open an issue if you need them.

Why are large view counts rounded? Telegram shows 80.2K on the web, so views is 80200. Counts under 1,000 are exact.

Do media links last? Photo and video links are temporary Telegram CDN links. Download files you want to keep soon after the run. Telegram doesn't serve some large videos on the web; viewableOnlyInTelegram marks posts with nothing else to show.

Why does a keyword row not contain my exact word? Telegram's search matches word forms (update, updates), and some matches are in the link preview. Turn on exactMatch for your exact text. Telegram also returns some messages with no visible match; we drop those.

Is it legal? The actor reads only what any logged-out visitor can see at t.me/s. It doesn't collect phone numbers or member lists, and it doesn't read personal accounts. Emails and @handles appear only when a channel or post published them. They can still be personal data, so you're responsible for using the results lawfully, including GDPR and anti-spam rules where they apply. This is an unofficial tool, not affiliated with Telegram.

🧰 More from K-Data Lab

Apps and ads

Amazon

Travel

Korean data

💬 Feedback

Need a field that's missing, or found a channel that doesn't work? Open an issue on the Issues tab. We answer the same day.

Tags: telegram scraper, telegram api, telegram channel scraper, telegram keyword search, telegram hashtag search, telegram messages, telegram monitor, telegram channel finder, telegram contacts, telegram emails, telegram leads, telegram subscribers, t.me scraper, telegram posts, telegram brand monitoring, telegram social listening, crypto signals monitoring, OSINT, no login