Telegram Scrape
Search channels, read messages, analyze ad contacts
When to use
- "find AI channels on telegram"
- "show messages from a channel"
- "find ad contacts of channels"
- "where can I buy ads"
- "scraping telegram channels"
Tool
$TG_TOOLS_PATH/tools/tg_scrape.py
How to run
Search channels by keywords
# Find channels with "ai" or "cursor" in the name
python3 $TG_TOOLS_PATH/tools/tg_scrape.py channels --keywords "ai,cursor"
# Save to CSV
python3 $TG_TOOLS_PATH/tools/tg_scrape.py channels --keywords "ai" --output channels.csv
# Save to JSON (more data: about, links)
python3 $TG_TOOLS_PATH/tools/tg_scrape.py channels --keywords "ai" --output channels.json
# With exclusions
python3 $TG_TOOLS_PATH/tools/tg_scrape.py channels --keywords "ai" --exclude "spam,nsfw"
Output: title, username, link, subscribers, ad_contacts, ad_links, about.
Read channel/group messages
# Last 20 messages
python3 $TG_TOOLS_PATH/tools/tg_scrape.py messages "Channel Name" --limit 20
# From the last 7 days
python3 $TG_TOOLS_PATH/tools/tg_scrape.py messages "Channel Name" --days 7
Channel Name -- search by substring (case-insensitive).
Search for ad contacts
python3 $TG_TOOLS_PATH/tools/tg_scrape.py ads --keywords "ai,cursor" --posts 10
Analyzes:
- Channel description (looks for @username, t.me/ links, words "ad", "ads", "price")
- Last N posts (keyword mentions)
- Calculates relevance score
Output (JSON stdout): title, username, subscribers, score, ad_contacts, keyword_mentions, sample_posts.
Parameters
| Command | Parameter | Description |
|---------|-----------|-------------|
| channels | --keywords, -k | Keywords comma-separated |
| channels | --exclude, -x | Exclude (comma-separated) |
| channels | --output, -o | File (.csv or .json) |
| messages | channel | Channel/group name |
| messages | --limit, -n | Max messages (default: 20) |
| messages | --days, -d | Only from last N days |
| ads | --keywords, -k | Keywords (required) |
| ads | --exclude, -x | Exclude |
| ads | --posts, -p | Posts to analyze (default: 10) |
Limitations
- Searches only among channels you are subscribed to
- GetFullChannelRequest has rate limits
- 0.2-0.3 sec delay between channels (automatic)
Related skills
telegram-groups-- group operationstelegram-send-- sending messages (e.g. to advertisers)