Telegram Keyword Search Scraper avatar

Telegram Keyword Search Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Telegram Keyword Search Scraper

Telegram Keyword Search Scraper

The most versatile Telegram scraper. Search message by keyword across all public channels, or scrape any channel's full history by username. No API key needed. 43 countries, 30 languages, real-time streaming.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Lofomachines

Lofomachines

Maintained by Community

Actor stats

0

Bookmarked

24

Total users

10

Monthly active users

11 days ago

Last modified

Share

Telegram Search and Channel Scraper

The most versatile Telegram scraper on Apify. Extract posts from any public Telegram channel — search across thousands of channels by keyword, or paginate through the full history of specific channels. No Telegram API key. No account. No setup. Results stream in real time.


Why This Actor?

Most Telegram scrapers force you to already know which channel you want. This actor lets you discover channels you didn't even know existed — by searching the web for any keyword and pulling the matching Telegram posts instantly.

FeatureThis ActorChannel-only scrapers
Search by keyword across all channels
Scrape known channels by username
No Telegram API key required
Real-time streaming results
43 countries + 30 languages targeting
Channel metadata (subscribers, stats)Partial
Date range filters (absolute or relative)Partial

Two Scraping Modes

Find Telegram posts across all public channels matching your keywords.

  1. Enter one or more keywords (e.g. bitcoin, Ukraine frontline, crypto airdrop)
  2. The actor searches the web for public Telegram posts matching each keyword
  3. Results start streaming into your dataset within the first 15–20 seconds
  4. Filter by country, language, and date range for precision targeting

Best for: market research, brand monitoring, news tracking, geopolitical intelligence, competitor analysis, topic discovery.

📢 Mode 2 — Channel Scraping

Paginate through the complete message history of channels you already know.

  1. Enter one or more channel usernames (e.g. cointelegraph, @bbcnews, truexazaporozie)
  2. The actor paginates backwards through each channel's history
  3. Stops at a configurable message limit or date cutoff — whichever comes first
  4. Results returned sorted oldest → newest

Best for: channel archiving, historical analysis, community monitoring, disinformation tracking, influence mapping.


Use Cases

  • 📊 Market Research — Track discussions about your product, industry, or competitors across hundreds of Telegram channels simultaneously
  • 🗞️ News & Media Monitoring — Follow breaking news from Telegram-first sources in Ukraine, Russia, Iran, Turkey, Brazil, India, and beyond
  • 🔍 OSINT & Geopolitical Intelligence — Monitor conflict zones, political movements, and regional narratives (Ukraine, Gaza, Myanmar, Venezuela…)
  • 📈 Crypto & Financial Intelligence — Extract signals, pump announcements, and sentiment from trading and DeFi channels
  • 🎯 Brand Monitoring — Detect mentions of your brand, product, or keywords across any public channel in 30+ languages
  • 🤖 AI Training Data — Build multilingual datasets from real social media conversations at scale
  • 📦 Content Archiving — Create full backups of public channels for compliance or research
  • 🕵️ Disinformation Research — Track narrative propagation, coordinated messaging, and influence campaigns across regions
  • 👥 Community Analysis — Understand audience sentiment, engagement patterns, and content trends in niche communities

Input Parameters

Keyword Search Mode

FieldRequiredDescription
modeSet to "keyword"
keywordsList of search terms — one search query per keyword
afterDateLower date bound — absolute (2025-03-01) or relative (7 days, 1 month)
beforeDateUpper date bound — absolute date only
countryCodeCountry bias for results — 43 supported (e.g. us, ua, tr, br, in)
languageCodeLanguage preference — 30 supported (e.g. en, ru, ar, uk, fa)
maxResultsPerKeywordMax posts per keyword (10–100, default 100)

Channel Scraping Mode

FieldRequiredDescription
modeSet to "channel"
channelsChannel usernames — with or without @ (e.g. cointelegraph, @bbcnews)
channelMaxMessagesMax messages per channel (10–10 000, default 10)
channelAfterDateOnly collect messages from this date onward (absolute or relative)

Input Examples

Keyword search — track crypto news in English, last 7 days:

{
"mode": "keyword",
"keywords": ["bitcoin ETF", "crypto regulation", "DeFi exploit"],
"afterDate": "7 days",
"countryCode": "us",
"languageCode": "en",
"maxResultsPerKeyword": 100
}

Keyword search — monitor the Ukraine conflict in Ukrainian and Russian:

{
"mode": "keyword",
"keywords": ["фронт", "наступ", "обстріл", "фронт сегодня"],
"afterDate": "1 day",
"countryCode": "ua",
"languageCode": "uk",
"maxResultsPerKeyword": 100
}

Channel scraping — archive last 500 posts from multiple channels:

{
"mode": "channel",
"channels": ["cointelegraph", "bbcnews", "truexazaporozie"],
"channelMaxMessages": 500,
"channelAfterDate": "1 month"
}

Output Fields

One item per Telegram post.

FieldTypeDescription
idintegerTelegram post ID
datestringPublication timestamp (ISO 8601)
textstringFull post text content
view_countintegerTotal number of views
reactionsobjectEmoji reactions map — e.g. {"🔥": 142, "👍": 38, "❤️": 21}
media_urlstringDirect URL to attached photo or video (if any)
pinnedbooleanWhether the post is pinned in the channel
source_namestringChannel display name
source_idintegerNumeric channel ID
source_urlstringt.me/s/ page URL (keyword mode only)
channel_infoobjectChannel metadata — subscribers, photos, videos, files, links, description
senderstringNumeric channel ID (as string)
silentbooleanWhether the message was sent silently
processed_atstringTimestamp when this item was scraped (ISO 8601)

channel_info object

{
"subscribers": 274000,
"photos": 16300,
"videos": 11200,
"files": 6,
"links": 30500,
"description": "Офіційний канал..."
}

Supported Countries (43)

🇺🇸 US · 🇬🇧 GB · 🇨🇦 CA · 🇦🇺 AU · 🇩🇪 DE · 🇫🇷 FR · 🇮🇹 IT · 🇪🇸 ES · 🇵🇹 PT · 🇳🇱 NL · 🇧🇪 BE · 🇨🇭 CH · 🇦🇹 AT · 🇸🇪 SE · 🇳🇴 NO · 🇩🇰 DK · 🇫🇮 FI · 🇵🇱 PL · 🇨🇿 CZ · 🇭🇺 HU · 🇷🇴 RO · 🇬🇷 GR · 🇺🇦 UA · 🇷🇺 RU · 🇹🇷 TR · 🇮🇱 IL · 🇸🇦 SA · 🇦🇪 AE · 🇪🇬 EG · 🇿🇦 ZA · 🇳🇬 NG · 🇮🇳 IN · 🇵🇰 PK · 🇧🇩 BD · 🇯🇵 JP · 🇰🇷 KR · 🇨🇳 CN · 🇮🇩 ID · 🇻🇳 VN · 🇹🇭 TH · 🇧🇷 BR · 🇲🇽 MX · 🇦🇷 AR

Supported Languages (30)

English · Deutsch · Français · Italiano · Español · Português · Nederlands · Svenska · Norsk · Dansk · Suomi · Polski · Čeština · Magyar · Română · Ελληνικά · Українська · Русский · Türkçe · العربية · עברית · فارسی · हिन्दी · বাংলা · Bahasa Indonesia · Tiếng Việt · ภาษาไทย · 中文 · 日本語 · 한국어


Integrations

This actor works with all standard Apify integrations:

  • Make (Integromat) — trigger runs and pipe results to Google Sheets, Airtable, Slack, or any app
  • n8n — automate Telegram monitoring workflows with no-code pipelines
  • Zapier — connect results to 5 000+ apps
  • Python / JavaScript / TypeScript — use the Apify client SDK to call this actor programmatically
  • REST API — integrate directly into any backend or data pipeline
  • MCP (Model Context Protocol) — connect directly to AI agents and LLM pipelines

FAQ

Does this require a Telegram account or API key? No — no account, no phone number, no API key needed.

Can I scrape private channels or groups? No. Only public channels can be scraped.

How fast are results? In Keyword Search mode, results start appearing within 15–20 seconds.

What's the maximum number of posts I can collect? Up to 100 posts per keyword (keyword mode) or 10 000 messages per channel (channel mode).

Does it work for non-English channels? Yes — it fully supports any language that Telegram renders in the web preview, including Arabic, Persian, Ukrainian, Russian, Chinese, Hindi, and all 30 supported language codes.

How do I search channels in a specific country? Set countryCode (e.g. ua for Ukraine, tr for Turkey, br for Brazil) and languageCode to bias search results toward that region.

Can I run multiple keywords at once? Yes — add multiple entries to the keywords array. Each keyword triggers a separate search and the results are all stored in the same dataset.

Can I schedule recurring runs? Yes — use Apify's built-in scheduler to run this actor daily, hourly, or on any cron schedule for continuous monitoring.


This actor only accesses publicly available Telegram channels via the official web preview interface. It does not bypass authentication, access private data, or use unofficial Telegram APIs. Users are responsible for ensuring their use complies with applicable laws including GDPR, CCPA, and Telegram's Terms of Service.