Telegram Scraper is a free and open-source scraper that gets you unlimited detailed Telegram data for free.
- 📣 Posts from any public channel on a 1B-user network — text, views, reactions, media, forwards & link previews
- 👤 Exact subscriber counts for any channel, group or bot — verified tick, numeric id, photo, description, media counters
- 💬 Every comment under a post — author handles, replies, reactions & photos, 50 a page
- 🔗 Invite links & collectible gifts decoded — chat type, member counts, gift owner, rarity & quantity
{
"channel": {
"username": "durov",
"link": "https://t.me/durov",
"id": 1006503122,
"title": "Pavel Durov",
"is_verified": true,
"subscribers_count": 10100000,
"photos_count": 102,
"videos_count": 47,
"links_count": 200
},
"message_count": 20,
"next_cursor": 531,
"has_more": true,
"messages": [
{
"id": 531,
"link": "https://t.me/durov/531",
"date": "2026-07-16T20:45:25+00:00",
"text": "🩵 Telegram now has a Rich Text Editor.\n\nIt supports tables, headings, inline media, lists, AI content, formulas, and more.\n\n😈 Messaging apps will never be the same!",
"author_signature": "Pavel Durov",
"is_forwarded": false,
"views_count": 5870000,
"media": [
{ "type": "video", "link": "https://t.me/durov/531", "source": "https://cdn4.telesco.pe/file/b231b9b161.mp4?token=cENqyO4hdEwm87KDzbfnKBsh3HukOjC7XYaeJVfG1tPBLFICyfqD8F3EBBOWTlt-RfMtZSyRSQZXKPMohJBjNHZZQldCrVlbzlGG3yWY5E2xD3qBOz-EonhZfJfXUwFlytlZXUFo_uI3q3K8-czE1PTur_bZUXtwvoXkpF4_yb5O0wZPH_BAAxoT-YnERmvAMA8C6VO5fIJxFqrk-gA1wEeTqHO5CspS2xpKKUYn3T5cSOtox39kv1W187..." }
],
"reactions": [
{ "emoji": null, "custom_emoji_id": null, "count": 6300, "is_paid": true },
{ "emoji": null, "custom_emoji_id": "5265077361648368841", "count": 54700, "is_paid": false }
],
"reactions_count": 95210
}
]
}Trimmed for readability.
1️⃣ Clone and install:
git clone https://github.com/omkarcloud/telegram-scraper
cd telegram-scraper
python -m pip install -r requirements.txt2️⃣ Start the API:
python run.py3️⃣ Get your first data:
curl "http://localhost:8000/channels/messages?channel=durov"{
"channel": {
"username": "durov",
"link": "https://t.me/durov",
"id": 1006503122,
"title": "Pavel Durov",
"is_verified": true,
"subscribers_count": 10100000
},
"message_count": 20,
"next_cursor": 531,
"has_more": true,
"messages": [
{
"id": 531,
"link": "https://t.me/durov/531",
"date": "2026-07-16T20:45:25+00:00",
"text": "🩵 Telegram now has a Rich Text Editor.\n\nIt supports tables, headings, inline media, lists, AI content, formulas, and more.\n\n😈 Messaging apps will never be the same!",
"views_count": 5870000,
"reactions_count": 95210,
"media": [{ "type": "video", "link": "https://t.me/durov/531" }]
}
]
}All 7 endpoints are now live at http://localhost:8000.
7 endpoints cover everything you need.
| Endpoint | Path | Returns |
|---|---|---|
| Channel Messages | /channels/messages |
20 posts a page: text, views, reactions, media, forwards, link previews |
| Channel Details | /channels/details |
Exact subscriber count, verified tick, id, photo, description, counters |
| Search Messages | /messages/search |
Telegram's own full-text search inside a channel, 20 a page |
| Message Details | /messages/details |
One post with views, reactions, media, buttons and comment count |
| Message Comments | /messages/comments |
50 comments a page: author, text, replies, reactions, photos |
| Invite Details | /invites/details |
What a t.me/+ link opens: type, title, member count, description |
| Gift Details | /gifts/details |
Collectible gift owner, model, backdrop, symbol rarity and quantity |
The same API is published on RapidAPI, and its playground is the easiest place to try parameters and see raw responses. Once a request looks right, run it locally for unlimited free data.
- Subscribe to the free plan — 1,000 calls/month, no credit card.
- Try the endpoints in the playground — every param is pre-filled, so you see real data in one click.
- Copy the generated code and replace
https://best-telegram-scraper-free-1000-calls.p.rapidapi.comwithhttp://localhost:8000. It will now run against your local API.
import requests
# generated by the playground, host swapped for the local API
response = requests.get(
"http://localhost:8000/channels/messages",
params={"channel": "durov"},
)
print(response.json())You're a developer — we know how hard completing a project can be. So we offer full support: just message us and we'll reply ✅ with a solution within 1 working day.
- Google Maps Scraper (3,100+ GitHub Stars) — type "dentists in New York", get every business as a ready-to-call lead list: phones, emails, websites & reviews. Up to 100K free leads/month.
- G2 Scraper — G2 product details, ratings & AI-found contacts
- Website Email Contact Scraper — emails, phones & socials from any website
- AliExpress Scraper — live product details, SKU variants, stock & shipping
- Booking Scraper — Booking.com hotels: prices, ratings, rooms & amenities
- Etsy Scraper — Etsy products: prices, discounts, shops & variations
⭐ Love It? Star It ⭐!
Star the repo ⭐ and become my star hero!
It's just 1 click, but it means the world to me.


