TGKit Telegram Channel Finder Scraper
Pricing
Pay per event
TGKit Telegram Channel Finder Scraper
Discover public Telegram entities through TGKit, with a TGStat fallback for channel and any searches. Export handles, titles, counts, types, and canonical t.me URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
26
Total users
20
Monthly active users
0.31 hours
Issues response
14 days ago
Last modified
Categories
Share
Find public Telegram entities by keyword with the TGKit Telegram Channel Finder Scraper.
Turn topics such as crypto news, football, or AI tools into structured public handles, titles, channel descriptions, member counts, entity types, and canonical t.me URLs.
No Telegram account, API key, or login is required.
Use the Actor when you know a topic but do not yet know which Telegram usernames to inspect. It is designed as a fast discovery step before profile enrichment, message extraction, monitoring, advertising research, or OSINT analysis.
- π Search one or many keywords
- π― Filter channels, groups, bots, or all public entities
- π Export ready-to-use Telegram profile URLs
- π Preserve the input query and requested type in every row
- β‘ Use lightweight HTTP requests rather than browser automation
What does TGKit Telegram Channel Finder Scraper do?
The Actor searches the public TGKit Channel Finder directory first. If TGKit is unavailable, channel and any searches automatically use the public TGStat channel index instead.
For every unique match, it returns the Telegram username, display title, entity kind, member count, and canonical profile URL. Channel matches are also enriched with the description from their public t.me preview when Telegram exposes one. The TGStat fallback returns channels only; group and bot searches still require TGKit.
You can submit up to 20 search phrases in one run. Results are deduplicated by username across all phrases, so overlapping keywords do not create duplicate leads.
This Actor focuses specifically on keyword-to-handle discovery. If you already know a Telegram username and need profile details or messages, use one of the related Telegram actors listed below.
Who is this Telegram channel finder for?
Community and influencer researchers
- Discover public communities around a market, language, niche, or trend.
- Compare member counts before selecting channels for deeper research.
- Build repeatable prospect lists without manually searching Telegram.
Telegram advertisers and growth teams
- Find channels and groups that may match a campaign topic.
- Export handles to Sheets, a CRM, or a review queue.
- Schedule discovery to refresh a changing outreach pipeline.
OSINT and trust-and-safety analysts
- Build public seed lists for follow-up collection.
- Preserve the discovery query and timestamp for auditability.
- Separate channels, groups, and bots before downstream analysis.
Brand, crypto, and market monitoring teams
- Search several brand or topic variants in one run.
- Feed discovered
t.melinks into profile or message scrapers. - Repeat runs to spot newly indexed public entities.
Why use this Telegram search scraper?
- No Telegram login: both directory sources expose anonymous public results.
- No API credentials: you do not need a Telegram developer application.
- Focused output: every row is a discovery result, not a mixture of posts and profiles.
- Low overhead: direct JSON extraction avoids browser startup and rendering costs.
- Traceable records:
query,requestedKind, andscrapedAtexplain how each username was found. - Stable exports: use JSON, CSV, Excel, XML, RSS, or the Dataset API.
- Automation ready: schedule runs, trigger webhooks, and connect through Make, Zapier, or MCP.
- Resilient requests: bounded retries and response validation handle temporary errors; channel searches can switch from TGKit to TGStat.
What Telegram data can you extract?
| Field | Type | Description |
|---|---|---|
query | string | Search phrase that produced the first saved match |
requestedKind | string | Requested filter: any, channel, group, or bot |
username | string | Public Telegram username without @ |
title | string | Public channel, group, or bot title |
description | string or null | Public channel description/bio from its t.me preview when available; null for unavailable descriptions and non-channel entities |
kind | string | Entity type returned by the active directory source |
members | integer or null | Public member/subscriber count when the active source supplies it |
telegramUrl | URL | Canonical https://t.me/{username} link |
scrapedAt | ISO date | UTC timestamp when the match was processed |
The Actor fetches descriptions only from public Telegram channel previews and returns null when a preview does not expose one. It does not fabricate languages, verification flags, or contact details.
Use a related enrichment actor after discovery when you need more fields.
How much does it cost to find Telegram channels?
This Actor uses pay-per-event pricing. A small one-time start event covers request setup, and a result event is charged only for each unique Telegram entity saved. Platform compute and storage costs are included in the event prices.
| Event | Free | Starter | Scale | Business |
|---|---|---|---|---|
| Run started | $0.005 | $0.005 | $0.005 | $0.005 |
| Item extracted | $0.0001572 | $0.0001367 | $0.00010662 | $0.000082019 |
For example, a Starter-plan run saving 10 unique entities costs about $0.00637: $0.005 start plus 10 Γ $0.0001367. A run returning no matching entities only incurs the start event. Higher Apify plans receive additional volume discounts.
Prices shown here are synchronized with the Actor configuration; always review the live run estimate before starting a large workflow.
How to find Telegram channels by keyword
- Open TGKit Telegram Channel Finder Scraper on Apify.
- Add one or more phrases to Search phrases.
- Choose Channels for the most resilient route, or select Groups, Bots, or Any entity. During TGKit outages, the fallback supports channels only.
- Set a small maximum for your first run.
- Click Start and wait for the run to finish.
- Open the Dataset tab to review usernames and
t.meURLs. - Export the results or send them to a downstream Actor.
A minimal channel search input:
{"queries": ["crypto news"],"kind": "channel","maxResultsPerQuery": 5,"maxConcurrency": 2}
A public channel audience search:
{"queries": ["football"],"kind": "channel","maxResultsPerQuery": 10,"maxConcurrency": 1}
A multi-topic discovery run:
{"queries": ["artificial intelligence", "machine learning", "AI news"],"kind": "any","maxResultsPerQuery": 15,"maxConcurrency": 3}
Input parameters
| Parameter | Type | Default | Limits | Description |
|---|---|---|---|---|
queries | string[] | required | 1β20 phrases; 2β100 characters each | Topics or keywords to search |
kind | string | any | any, channel, group, bot | Telegram entity filter; fallback output is channel-only |
maxResultsPerQuery | integer | 10 | 1β20 | Maximum matches saved from each query |
maxConcurrency | integer | 3 | 1β5 | Number of simultaneous source searches |
Whitespace is trimmed from every query. Exact duplicate query strings are removed before requests start. Invalid values fail fast instead of being silently converted.
Output example
{"query": "crypto news","requestedKind": "channel","username": "cryptowallet_news_en","title": "Wallet News","description": "News and analysis about digital assets.","kind": "channel","members": 3768092,"telegramUrl": "https://t.me/cryptowallet_news_en","scrapedAt": "2026-07-19T04:30:00.000Z"}
members is emitted as a number, not formatted text, whenever the active directory supplies a public count.
Records without a source count use null; numeric values remain easy to sort and filter.
If the same username appears for two phrases, the first completed discovery is saved and later duplicates are skipped. The source supplies a compact ranked list rather than an unlimited paginated catalog.
Tips for better Telegram discovery
- Start with a specific two- or three-word phrase rather than a single broad word.
- Search spelling variants and industry synonyms in the same run.
- Use
kind: channelfor the resilient broadcast-publisher route backed by TGKit and TGStat. - Use
kind: grouporkind: botonly when TGKit is available; TGStat cannot satisfy those filters. - Use
kind: anyfor broad discovery; during a TGKit outage its fallback results are channels only. - Keep concurrency at 1 or 2 if either source begins returning temporary rate limits.
- Schedule a small recurring run instead of one oversized batch when monitoring new entities.
- Sort
membersdescending to prioritize larger communities. - Review every public community before outreach; discovery does not imply endorsement.
- Feed canonical URLs into downstream Telegram actors instead of rebuilding links manually.
Telegram research integrations
TGKit finder β Telegram profile enrichment
Discover unknown usernames here, then pass telegramUrl values to the Telegram Info Scraper for known-handle details.
TGKit finder β message monitoring
Create a reviewed seed list, then send selected channels to the Telegram Channel Messages Scraper.
TGKit finder β Google Sheets
Schedule weekly topic searches and sync usernames, titles, member counts, and timestamps to a prospecting or research sheet.
TGKit finder β Slack or Discord
Use an Apify webhook to notify analysts when a scheduled run finds usernames not present in the previous export.
TGKit finder β Make or Zapier
Trigger enrichment, CRM deduplication, analyst review, or lead routing after each successful Dataset item.
TGKit finder β data warehouse
Pull Dataset items through the API, store snapshots by scrapedAt, and analyze changes in the discovered entity set over time.
Using the Apify API with Node.js
Install the official client:
$npm install apify-client
Run the Actor and read its dataset:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/tgkit-telegram-channel-finder-scraper').call({queries: ['crypto news', 'blockchain'],kind: 'channel',maxResultsPerQuery: 10,maxConcurrency: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Using the Apify API with Python
$pip install apify-client
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/tgkit-telegram-channel-finder-scraper').call(run_input={'queries': ['football'],'kind': 'channel','maxResultsPerQuery': 10,'maxConcurrency': 1,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Using the Apify API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~tgkit-telegram-channel-finder-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["AI tools"],"kind": "any","maxResultsPerQuery": 10,"maxConcurrency": 2}'
After the run succeeds, use its defaultDatasetId to fetch items from the Dataset API.
Never embed an Apify token in public source code.
Use with AI agents via MCP
TGKit Telegram Channel Finder Scraper can be used by assistants supporting the Model Context Protocol. The hosted Apify MCP server lets an agent start the Actor and inspect its output with your authorization.
For Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/tgkit-telegram-channel-finder-scraper"
For Claude Desktop, Cursor, or VS Code, add:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/tgkit-telegram-channel-finder-scraper"}}}
Example prompts:
- βUse
automation-lab/tgkit-telegram-channel-finder-scraperto find public crypto news channels and rank them by members.β - βFind public football channels on Telegram and return usernames with canonical profile links.β
- βBuild a deduplicated Telegram OSINT seed list for AI, machine learning, and generative AI monitoring.β
OAuth asks you to authorize access to your Apify account on first use.
Scheduling Telegram discovery runs
Use an Apify schedule when the workflow depends on fresh public entities. A daily run can watch fast-moving crypto or brand topics, while a weekly run is often enough for slower research lists.
Recommended recurring workflow:
- Run several stable keyword variants.
- Export Dataset items to a persistent table or named dataset.
- Compare
usernameagainst previously reviewed entities. - Route only new usernames to analysts or enrichment actors.
- Keep the original
queryandscrapedAtfields for provenance.
The Actor does not maintain historical state itself. Your integration decides how to compare snapshots and trigger alerts.
Reliability and source limits
TGKit and TGStat are third-party public directories and may change their endpoints, rankings, fields, or availability. The Actor validates both response formats so an incompatible payload does not silently create corrupt rows.
Temporary 408, 425, 429, and common 5xx responses from TGKit are retried with backoff. If those retries fail, channel and any searches query TGStat's public channel index. This fallback is deliberately channel-only: it never labels a TGStat channel as a group or bot, and explicit group or bot searches fail honestly when TGKit is unavailable.
A partial multi-query run preserves successful query results and logs failures. If every query request and applicable fallback fails, the Actor exits with a failed status rather than reporting false success.
A valid empty result list is not an error. It means the active source returned no indexed matches for that phrase at run time. Both sources return compact ranked results and do not expose unlimited pagination through this Actor.
Is it legal to scrape TGKit and Telegram directory data?
This Actor extracts public directory data exposed without login. Public availability does not remove your responsibility to follow applicable laws, platform terms, and ethical-use standards.
Do not use the output for harassment, spam, unlawful profiling, or attempts to access private Telegram communities. When handling personal data, establish a lawful purpose, minimize retained data, respect deletion requests, and comply with GDPR or other relevant regulations.
This documentation is general information, not legal advice. Consult qualified counsel for regulated or high-risk use cases.
Troubleshooting
Why did my query return no rows?
The active directory may not index an entity matching that phrase and type.
Try kind: channel, shorten an overly specific phrase, check spelling, or search a related term. During a TGKit outage, any can return TGStat channels but not groups or bots.
A valid zero-result response is shown in logs and succeeds without per-result charges.
Why are fewer rows returned than my maximum?
maxResultsPerQuery is a cap, not a promise.
Both sources return compact ranked sets, and global username deduplication can reduce the saved count when several queries overlap.
Why did the run fail after retries?
A public source may be temporarily unavailable or rate limiting requests. Channel and any searches try TGStat after TGKit retries; group and bot searches do not have that fallback.
Retry later with fewer queries and maxConcurrency: 1. The run fails only when all requested searches and applicable fallbacks fail or their response formats are no longer compatible.
Why is a member count different from Telegram or null?
Member counts are snapshots returned by the active directory and can lag the live Telegram profile.
Some records have no count in the source and return null; use counts for discovery and rough prioritization rather than exact real-time analytics.
description is the channel bio shown by Telegram's public web preview at run time. Telegram may omit the preview for unavailable, restricted, or non-channel usernames; those rows keep their discovery data and return description: null.
FAQ
How fast is the Telegram channel finder?
A small search usually completes in seconds because the Actor calls a public JSON endpoint and does not launch a browser. Runtime depends on query count, retries, source response time, and concurrency.
Do I need a Telegram account or API key?
No. The Actor searches anonymous public TGKit and TGStat surfaces and does not ask for Telegram credentials.
Can it search private Telegram groups?
No. It only returns public entities indexed by TGKit or TGStat and never attempts to join, bypass access controls, or expose private groups.
Does it scrape Telegram messages?
No. This Actor discovers public handles by keyword. Use the Telegram Channel Messages Scraper after reviewing the discovered channels.
Can I use the results as advertising leads?
You can use public data for legitimate research subject to applicable laws and platform rules. Review relevance manually and avoid unsolicited spam or abusive outreach.
How are duplicate results handled?
Usernames are compared case-insensitively across the entire run. Only the first occurrence is saved and charged.
How much will my run cost?
Cost equals the one-time start event plus the plan-specific price for each unique saved entity. Check the pricing table above and the Apify run estimate before large workloads.
Other Telegram and discovery actors
- Telegram Scraper β enrich known public channels and extract messages.
- Telegram Info Scraper β inspect known Telegram handles and profile URLs.
- Telegram Channel Messages Scraper β collect public message history from selected channels.
- Telegram Media Downloader β download media from known public Telegram sources.
- Cross-Platform OSINT Seed List Monitor β monitor reviewed public identifiers across platforms.
- YouTube Channel Search Scraper β discover YouTube channels by keyword for cross-platform creator research.
Use this Actor first when your starting point is a topic. Use the enrichment and message actors when your starting point is already a known Telegram username or URL.