TGKit Telegram Channel Finder Scraper avatar

TGKit Telegram Channel Finder Scraper

Pricing

Pay per event

Go to Apify Store
TGKit Telegram Channel Finder Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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.me links 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, and scrapedAt explain 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?

FieldTypeDescription
querystringSearch phrase that produced the first saved match
requestedKindstringRequested filter: any, channel, group, or bot
usernamestringPublic Telegram username without @
titlestringPublic channel, group, or bot title
kindstringEntity type returned by TGKit
membersinteger or nullPublic member/subscriber count when TGKit supplies it
telegramUrlURLCanonical https://t.me/{username} link
scrapedAtISO dateUTC 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.

EventFreeStarterScaleBusiness
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

  1. Open TGKit Telegram Channel Finder Scraper on Apify.
  2. Add one or more phrases to Search phrases.
  3. Choose Channels, Groups, Bots, or Any entity.
  4. Set a small maximum for your first run.
  5. Click Start and wait for the run to finish.
  6. Open the Dataset tab to review usernames and t.me URLs.
  7. 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

ParameterTypeDefaultLimitsDescription
queriesstring[]required1–20 phrases; 2–100 characters eachTopics or keywords to search
kindstringanyany, channel, group, botTelegram entity filter
maxResultsPerQueryinteger101–20Maximum matches saved from each query
maxConcurrencyinteger31–5Number 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: channel for broadcast publishers and kind: group for communities.
  • Use kind: any when 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 members descending 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 os
from apify_client import ApifyClient
client = 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().items
print(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-scraper to 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:

  1. Run several stable keyword variants.
  2. Export Dataset items to a persistent table or named dataset.
  3. Compare username against previously reviewed entities.
  4. Route only new usernames to analysts or enrichment actors.
  5. Keep the original query and scrapedAt fields 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.

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

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.