TGKit Telegram Channel Finder Scraper
Pricing
Pay per event
TGKit Telegram Channel Finder Scraper
Discover public Telegram channels, groups, and bots by keyword through TGKit. Export usernames, titles, member counts, entity types, and canonical t.me URLs. No Telegram login or API key required.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Find public Telegram channels, groups, and bots by keyword with the TGKit Telegram Channel Finder Scraper.
Turn topics such as crypto news, football, or AI tools into structured public handles, titles, 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. For every unique match, it returns the Telegram username, display title, entity kind, member count, and canonical profile URL.
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: the source exposes anonymous public directory 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, response validation, and conservative concurrency handle temporary source errors.
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 |
kind | string | Entity type returned by TGKit |
members | integer or null | Public member/subscriber count when TGKit supplies it |
telegramUrl | URL | Canonical https://t.me/{username} link |
scrapedAt | ISO date | UTC timestamp when the match was processed |
The Actor does not fabricate descriptions, languages, verification flags, or contact details when TGKit does not return them. 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, Groups, Bots, or Any entity.
- 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 group search:
{"queries": ["football"],"kind": "group","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 |
maxResultsPerQuery | integer | 10 | 1β20 | Maximum matches saved from each query |
maxConcurrency | integer | 3 | 1β5 | Number of simultaneous TGKit 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","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 TGKit supplies a public count.
Bots or other 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 broadcast publishers andkind: groupfor communities. - Use
kind: anywhen you want bots and other public entity types in the same seed list. - Keep concurrency at 1 or 2 if TGKit 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': 'group','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 discussion groups 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 is a third-party public directory and may change its endpoint, ranking, fields, or availability. The Actor validates the JSON response so an incompatible payload does not silently create corrupt rows.
Temporary 408, 425, 429, and common 5xx responses are retried with backoff. A partial multi-query run preserves successful query results and logs failures. If every query request fails, the Actor exits with a failed status rather than reporting false success.
A valid empty result list is not an error. It means TGKit returned no indexed matches for that phrase and entity type at run time. The source currently returns compact ranked results and does not expose unlimited pagination.
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?
TGKit may not index an entity matching that phrase and type.
Try kind: any, shorten an overly specific phrase, check spelling, or search a related term.
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.
TGKit returns a compact ranked set, and global username deduplication can reduce the saved count when several queries overlap.
Why did the run fail after retries?
The public source may be temporarily unavailable or rate limiting requests.
Retry later with fewer queries and maxConcurrency: 1.
The run fails only when all source searches fail or the response format is no longer compatible.
Why is a member count different from Telegram or null?
Member counts are snapshots returned by TGKit and can lag the live Telegram profile.
Some bots have no count in the source and return null; use counts for discovery and rough prioritization rather than exact real-time analytics.
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 an anonymous public TGKit surface and does not ask for Telegram credentials.
Can it search private Telegram groups?
No. It only returns public entities indexed by TGKit 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.