Operated by Sourcelane✓ verified
Find public Telegram channels and groups by keyword, topic, country or language - subscribers, average post reach, ERR, description and t.me link.
A Telegram channel and group discovery connector that finds public Telegram channels and public groups by keyword, topic/category, country or language and returns a deduplicated list of matching channels with audience and engagement metrics. It scrapes public Telegram channel pages and a large public channel catalogue to extract title, username and t.me link; live subscriber counts; topical category; average post reach and engagement rate (ERR); a citation index measuring repost/mention activity; full channel descriptions including contact handles and links; verified status and avatar URL; optional country and language attribution per channel; and group metrics such as member counts, weekly messages and monthly active users. The connector supports multi-keyword runs with deduplication and sorting by audience size, searchable descriptions, optional group inclusion, and per-channel country/language lookup; results are produced at scale without requiring a Telegram account or login.
Verified Oct 25, 10:11 PM
$0.002
per channel
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Telegram advertising and media buying
Shortlist channels by reach and engagement to compare media opportunities.
Influencer and community outreach
Locate channel owner contact handles and channel descriptions for outreach.
Market and competitor research
Map all channels covering a topic, country or language.
Lead generation
Collect niche channels (crypto, trading, e‑commerce, education, local news) at scale.
OSINT and media monitoring
Discover channels to feed into downstream Telegram post scraping and monitoring workflows.
Topics or phrases to search for, in any language (e.g.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"telegram-channel-search","params":{"keywords":["crypto","fitness"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
keywords | array | optional | Topics or phrases to search for, in any language (e.g. 'crypto', 'fitness', 'новости'). Each keyword is searched separately and channels are deduplicated across keywords. Leave empty to browse by category, country or language only. |
category | string | optional | Only return channels in this topic category. Leave empty for any. |
country | string | optional | Only return channels registered to this country. Leave empty for any. |
language | string | optional | Only return channels that post in this language. Leave empty for any. |
minSubscribers | integer | optional | Skip channels with fewer subscribers than this. 0 = no minimum. |
maxSubscribers | integer | optional | Skip channels with more subscribers than this (useful for finding small and mid-size channels). 0 = no maximum. |
maxItems | integer | optional | Maximum number of channels to return for each keyword (largest channels first). 0 = all matching channels. Capped at 100 per call. |
searchInDescription | boolean | optional | When enabled, a keyword also matches channels that mention it in their description, not just in the title or username. Gives many more results. |
verifiedOnly | boolean | optional | Only return channels with the official Telegram verification badge. |
includeChats | boolean | optional | Also return public Telegram groups (chats) from the group ranking: top groups in the selected category, or the overall top groups whose name matches a keyword. |
includeDetails | boolean | optional | Open each channel's public t.me page to add the full description, verified badge, high-resolution avatar and a live subscriber count. Slightly slower; recommended. |
includeGeoLanguage | boolean | optional | Look up each channel's country and language. Adds one extra request per channel, so runs are slower. When you filter by Country or Language, those fields are filled automatically without this option. |
Each result contains
| Field | Type | Description |
|---|---|---|
type | string | Type |
title | string | Title |
username | string | Username |
url | string | URL |
subscribers | integer | Subscribers |
category | string | Category |
country | null | Country |
language | null | Language |
description | string | Description |
avatarUrl | string | Avatar |
verified | boolean | Verified |
averagePostReach | integer | Avg post reach |
errPercent | number | ERR % |
citationIndex | integer | Citation index |
weeklyMessages | null | — |
monthlyActiveUsers | null | — |
keyword | string | Keyword |
source | string | Source |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Find this creator's profiles on every social network and summarise their reach.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"telegram-channel-search","params":{"keywords":["crypto","fitness"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "telegram-channel-search",
"params": {"keywords":["crypto","fitness"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…