All platforms

Telegram scraper API

Public Telegram channel metadata, post lists, and single-post lookups over REST — no userbot session.

Why teams use Social Fetch for Telegram

Social Fetch exposes public Telegram as GET routes. Pass a public `@username` or post id with `x-api-key` and get `{ data, meta }` with `data.lookupStatus`, `meta.requestId`, and `meta.creditsCharged`.

Coverage: public channel and group entity cards, broadcast-channel post lists with cursor pagination, and single-post lookups by numeric id. Private chats and DMs are out of scope. Use Bot API for sending messages or managing a bot.

What Telegram data can you get?

  • Public channel and group metadata by username — title, description, avatar, verification, size fields.
  • Channel post lists (broadcast channels) with text, views, media URLs, reactions, and cursor pagination.
  • Single channel post by username and numeric post id for alerts and deep links.
  • Shared Social Fetch envelope so Telegram rows land next to other networks in one schema.

Telegram API endpoints

Routes from the live API catalog. Open an endpoint for parameters and examples — credit notes come from OpenAPI pricing extensions.

How to call the Telegram API

  1. 1. Create an API key

    Sign up at Social Fetch and copy a key (`sfk_…`). New accounts get 100 free credits — enough to resolve one channel card and page a few posts against live data.

  2. 2. Call a Telegram route

    Start with `GET /v1/telegram/channels/{handle}` for the entity card, then `.../posts` or `.../posts/{postId}` when you need messages. Send `x-api-key` on every request. Use the playground for one-off checks; use the TypeScript SDK or curl in production jobs.

  3. 3. Read the shared envelope

    Branch on `data.lookupStatus` before writing rows. Log `meta.requestId` for support. Bill against `meta.creditsCharged` — that field is the source of truth for what the call cost.

How much does the Telegram API cost?

Telegram channel, posts list, and single-post routes charge 1 credit per successful completed lookup in the OpenAPI notes. Credits never expire on pay-as-you-go packs. Always trust `meta.creditsCharged` on the response.

See credit packs

Social Fetch vs the official Telegram API

Telegram Bot API and MTProto are for bots, clients, and user-authorized apps. Social Fetch looks up public t.me pages with a Social Fetch API key only — no Bot token, no userbot session.

Telegram API FAQ

Is there a Telegram scraper API that works without a userbot?

Yes. Social Fetch Telegram routes read public channel and post data over REST. You authenticate to Social Fetch with an API key — you do not run an MTProto client session or pass Telegram user credentials.

What Telegram data does Social Fetch cover?

Public channel and group entity cards by username, recent posts for broadcast channels (with cursor pagination), and a single post by username plus numeric post id. Exact paths live under `/docs/api` and on this hub's endpoint list. Private chats and DMs are not covered.

Telegram Bot API vs Social Fetch — what is the difference?

Bot API is for building bots that send and receive messages inside Telegram (you need a bot token from BotFather). Social Fetch is a public-data lookup API: username or post id in, structured JSON out, no bot required. Choose Bot API when you need write access or bot interactions; choose Social Fetch for public channel enrichment and monitoring alongside other networks.

Do I need a Telegram Bot API token?

No. Social Fetch authenticates with your Social Fetch API key only. You do not pass a Bot API token for these public lookups.

Can I list posts from a public Telegram group?

No. Post list and single-post routes support public broadcast channels only. Groups are not supported on those operations. Use `GET /v1/telegram/channels/{handle}` when you need group metadata (title, member counts) from a public username.

How do I fetch a Telegram channel by handle?

Call `GET /v1/telegram/channels/{handle}` with `x-api-key`. The handle is the public `@username` (with or without `@`). Read `data.lookupStatus` before treating `data.entity` as found. Details are on the channel endpoint page linked below.

How do I list or fetch Telegram channel posts?

List recent messages with `GET /v1/telegram/channels/{handle}/posts` and page with the opaque `cursor` from `data.nextCursor` while `data.hasMore` is true. Fetch one message with `GET /v1/telegram/channels/{handle}/posts/{postId}` when you already know the numeric id from a t.me URL.

How much does the Telegram API cost?

You buy credit packs (or use the 100 free signup credits). The Telegram channel, posts list, and single-post operations document 1 credit per successful request. Check `meta.creditsCharged` on every response. There is no required monthly subscription for pay-as-you-go packs.

Can I read private Telegram chats or invite-only channels?

No. Only publicly visible channel and group pages. Restricted or private entities return typed `lookupStatus` outcomes (`not_found` / `restricted`) rather than inventing empty payloads.

Is scraping Telegram data legal?

Social Fetch returns publicly visible data. You are responsible for how you use it under Telegram's terms, applicable law, and your own compliance review. We do not give legal advice.

Start with Telegram data

Create an account, spend the 100 free credits on live Telegram routes, then buy a pack when the JSON fits your pipeline. Credits do not expire on pay-as-you-go packs.