DEV Community

🚀 Meet Telelinker: A CLI Tool to Extract and Analyze Links from Telegram Groups

👋 Hey everyone!

I recently built Telelinker — an open-source command-line tool that helps you extract and analyze links shared in Telegram groups.

If you’ve ever wanted to know what people are sharing most often in your community — YouTube videos, TikToks, LinkedIn posts, Medium articles — Telelinker can help you find out in seconds.


💡 Why I built it

Telegram is full of interesting content. But if you manage or research multiple groups, tracking what gets shared can get messy.

I wanted a simple tool that could:

  • Grab all links shared in a group
  • Detect which platform they belong to (YouTube, TikTok, etc.)
  • Collect useful metadata like username, likes, comments, views
  • Export everything to CSV or PostgreSQL for analysis

So, I built Telelinker.


⚙️ What Telelinker does

Once you connect it to your Telegram account, Telelinker can:

Extract links automatically from groups you’re a member of
Detect platforms — YouTube, TikTok, Instagram, LinkedIn, Medium, Dev.to, and more
Pull metadata (username, views, likes, comments, date, title…)
Export results to CSV, JSON, or PostgreSQL
Run interactively or headless
Process multiple groups at once

Perfect for:

  • 📊 Content trend analysis
  • 🧠 Social research
  • 🧰 Community management
  • 🧮 Data mining and social media analytics

🧩 Installation

You can install Telelinker in a few ways.

Option 1 — Scoop (Windows)

scoop bucket add telelinker https://github.com/nkmelndz/telelinker
scoop install telelinker
Enter fullscreen mode Exit fullscreen mode

Option 2 — Docker

git clone https://github.com/nkmelndz/telelinker.git
cd telelinker
docker build -t telelinker .
docker run --rm -it -v "$(pwd)":/app telelinker
Enter fullscreen mode Exit fullscreen mode

Option 3 — From Source (Python 3.11+)

git clone https://github.com/nkmelndz/telelinker.git
cd telelinker
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
python -m src.main setup
Enter fullscreen mode Exit fullscreen mode

🎮 How to use Telelinker

1️⃣ Configure your Telegram API credentials

You’ll need an API ID and HASH from my.telegram.org.
Once you have them, run:

telelinker setup
telelinker login
Enter fullscreen mode Exit fullscreen mode

2️⃣ List your Telegram groups

telelinker groups --interactive
Enter fullscreen mode Exit fullscreen mode

or export them:

telelinker groups --format csv --out my_groups.csv
Enter fullscreen mode Exit fullscreen mode

3️⃣ Extract and analyze links

telelinker fetch --interactive
Enter fullscreen mode Exit fullscreen mode

You can filter by group, limit results, and choose export formats.
Example:

telelinker fetch --group @mygroup --limit 100 --format csv --out links.csv
Enter fullscreen mode Exit fullscreen mode

📊 Example output

After running Telelinker, you’ll get a CSV or JSON file like this:

Platform Username Likes Comments Views URL
YouTube devtips 2345 120 10k https://youtu.be/...
TikTok codeguru 842 59 2.3k https://tiktok.com/...
LinkedIn jane_dev 150 20 https://linkedin.com/...

🧠 What you can do with the data

  • Find trends: Which platforms are most shared in your groups
  • Research topics: What kind of content spreads fastest
  • Build dashboards: Combine Telelinker exports with tools like Grafana or Metabase
  • Automate reports: Use cron jobs to fetch fresh data weekly

🤝 Want to contribute?

Telelinker is open source under the MIT License — everyone’s welcome to contribute!

You can help by:

  • Adding scrapers for more platforms
  • Improving metadata extraction
  • Suggesting new features
  • Writing docs or tutorials

Check out the CONTRIBUTING.md for details.


💬 Final thoughts

I built this tool to make Telegram data more accessible for analysis — and I’d love to see what others do with it.

If you find it useful, please ⭐ star the repo or share it withothers!
Feedback, ideas, and contributions are all super welcome 🙌

👉 GitHub: github.com/nkmelndz/telelinker

Top comments (1)

Collapse
 
jefferson_rosas profile image
JEFFERSON ROSAS CHAMBILLA

Fascinating tool, César. Telelinker elegantly addresses a non-trivial challenge in ephemeral data extraction from Telegram’s API-constrained environment, where rate limits and message pagination often deter systematic analysis. By leveraging the Telethon client under a CLI abstraction, you’ve democratized link intelligence for researchers studying information diffusion in closed groups—think misinformation tracking or influence network mapping. The inclusion of domain frequency histograms and export to CSV/JSON transforms raw hyperlinks into actionable metadata for downstream NLP pipelines (e.g., integrating with Hugging Face models for content classification).

A natural evolution could involve real-time streaming via Telegram’s MTProto updates and graph-based visualization (e.g., using Graphviz or D3) to reveal link propagation clusters. Have you considered anonymization hooks (hashing user IDs, redacting PII) to support ethical research compliance? Kudos for the modular design—analyze_links() is particularly clean and testable. This fills a genuine gap between ad-hoc scripts and enterprise-grade social media intelligence tools.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.