Telegram API

Public Telegram Channel Data as JSON

Read public Telegram channels and groups as structured JSON: channel metadata, post history with pagination, in-channel search, and single post details with reactions, views and media. No Telegram account and no Bot API credentials required. This is not the official Telegram Bot API or MTProto.

500 free credits
No card needed
From $0.20 / 1k
Pay as you go
Structured JSON
Ready for apps
API key access
Test in minutes
4
Endpoints
No account
Credentials needed
$0.20
Per 1k requests

Try it now

Make one request. Inspect structured JSON.

Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.

Request preview
Request
curl -X GET "https://scrappa.co/api/telegram/channels/telegram/posts?username=telegram" \
  -H "Accept: application/json" \
  -H "X-API-KEY: YOUR_API_KEY"
JSON response
{
  "success": true,
  "data": {
    "channel": {
      "username": "telegram",
      "permalink_url": "https://t.me/telegram",
      "preview_url": "https://t.me/s/telegram"
    },
    "posts": [
      {
        "id": 459,
        "channel": "telegram",
        "post_key": "telegram/459",
        "permalink": "https://t.me/telegram/459",
        "date": "2026-07-16T20:45:25+00:00",
        "edited": false,
        "text": "Post body text.",
        "views": {
          "raw": "14.3K",
          "is_approximate": true
        },
        "reactions": [
          {
            "emoji_id": "5265077361648368841",
            "glyph": "🎉",
            "count": 41,
            "is_paid": false
          }
        ],
        "media": {
          "photos": [
            {
              "url": "https://cdn.example/media/photo-459.jpg",
              "width": 320,
              "height": 240
            }
          ],
          "videos": [],
          "documents": [],
          "album": null
        },
        "poll": null
      }
    ],
    "count": 1,
    "next_before": 459,
    "has_more": true
  },
  "meta": {
    "duration_ms": 744,
    "attempts": 1
  }
}

What you can build

Structured data for real applications. Here are some ideas.

Channel Monitoring

Follow public channels programmatically: poll the newest posts on a schedule, detect new posts by id and stay inside a bounded window instead of walking an entire history.

Content Research

Search inside a channel across its full history and pull the matching posts with their text, dates and media, without maintaining a browser scraper.

Media and Reaction Analytics

Measure engagement per post from reaction counts, view strings and media types, then compare channels that cover the same topic.

Verification and Archival

Confirm that a handle renders a public channel preview, resolve the channel title and subscriber string, and archive posts as structured records.

Available endpoints

Everything you need in one API.

GET

Channel

/api/telegram/channels/{username}

Title, description, avatar, verified badge and subscriber string for a public channel. The username parameter also accepts @handle and public host URLs

Scrappa vs Telegram Bot API / MTProto

See how Scrappa compares to the official API.

Telegram account required
Scrappa:
Telegram Bot API / MTProto:
Bot token required
Scrappa:
Telegram Bot API / MTProto:
Read public channel history
Scrappa:
Telegram Bot API / MTProto:
Channel metadata without joining
Scrappa:
Telegram Bot API / MTProto:
Reactions and view counts
Scrappa:
Telegram Bot API / MTProto:
Structured data
Scrappa: JSON
Telegram Bot API / MTProto: JSON
Unified with other APIs
Scrappa: Yes (same key)
Telegram Bot API / MTProto: N/A

Key features

Public channels and groups, no account and no Bot API key
Post history with strict backwards pagination
In-channel search across the full history, non-Latin queries included
Reactions, view strings, polls, documents, albums and link previews
A post that does not exist answers 200 with found: false, never a 404
Same API key as all other Scrappa endpoints

Frequently asked questions

No. These endpoints read the public channel preview only. There is no login, no bot token, and no MTProto connection at any point.

No. The Bot API and MTProto are separate products from Telegram and are not used here. Scrappa returns the public preview data as structured JSON from one API key.

Public channels and public groups. A private or members-only channel is addressed by invite token rather than by handle, so it is not reachable through these endpoints.

You get 200 with found set to false and post set to null. Absence is decided from the data itself, never from the status code, so a missing post is never reported as a server error.

The public preview only publishes rounded view strings such as 14.3K. The response returns the raw string with an is_approximate flag; an exact integer is never invented.

Yes. Every Scrappa account includes 500 free credits per month with no credit card required. Failed requests are never billed.

Start using the Telegram API

Sign up and get 500 free credits. No credit card required.