Channel profile
1 credit/v1/telegram/profileName, description, avatar, verified badge, and an exact subscriber count. Groups return a member count on the same field. A channel with no public preview returns 404 and is not charged.
handle
Fetch public Telegram channel data as structured JSON with one SocialCrawl API key. Same Post and Author schema as every other platform. Reads are priced in credits.
3 active endpoints
3 live read endpoints for public Telegram channels and groups. Channel profile, paginated post history, and a single post by URL.
/v1/telegram/profileName, description, avatar, verified badge, and an exact subscriber count. Groups return a member count on the same field. A channel with no public preview returns 404 and is not charged.
handle
/v1/telegram/profile/postsOne page of public posts with text, publish time, views, the per emoji reaction breakdown, and direct photo and video URLs. Pass the cursor to walk further back. Page size varies, so keep paging until the cursor is absent.
handle, cursor
/v1/telegram/postOne post from its t.me link, with the same fields as a list row. Every image in an album is returned, not just the first. View and reaction counts are rounded by the public Telegram surface.
url
Returns a public Telegram channel or group profile: display name, description, avatar URL, verified badge, and an exact subscriber count.
Use it when you have a handle and want the channel snapshot, or to confirm a channel is public before paging its posts.
1 credit
handle · Public Telegram handle, with or without the leading @, or a t.me channel URL
$ curl https://www.socialcrawl.dev/v1/telegram/profile?handle=telegram \
-H "x-api-key: sc_YOUR_API_KEY"// Running this live needs your own API key. Hit "Try it" to see an example responseTelegram is a normal SocialCrawl social surface. You call GET /v1/telegram/… with an API key, spend credits on live misses, and get a single JSON envelope back. No bot token, no phone number, no MTProto session.
Send your key in the x-api-key header. The same key works across the SocialCrawl catalog.
Routes are GET. Pass the handle, the post URL, and the cursor as query strings. Formats are validated before charging, so a private invite link is rejected without a credit.
Every Telegram route is 1 credit on a live miss. Cache hits cost 0. Not found and invalid input are never charged.
Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached.
Most products resolve the channel, page its history, then deepen only the posts that matter.
GET /v1/telegram/profileAuthor-shaped profile with an exact subscriber count
Resolve the handle once and confirm the channel is public.
GET /v1/telegram/profile/postsPostList of recent public posts
Page with the cursor until it comes back absent.
GET /v1/telegram/profile/postsOlder pages from the same cursor
A short page is not the end of the channel. Keep going.
GET /v1/telegram/postFull Post for one t.me link
Use it when you already hold a link and do not need the feed.
GET /v1/telegram/profile
?handle=telegram
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here{
"success": true,
"data": { "/* Author | Post | PostList */": true },
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_…",
"cached": false
}Field names match the rest of SocialCrawl where archetypes align.
id, username, display_name, avatar_url, bio, followers, verified, url
items[].post with id, url, content, engagement, author, published_at, ext
id, url, content.text, content.media_urls, engagement.views, published_at
post.ext.reaction_counts with the emoji and the count for each reaction
Same request lifecycle as every other /v1 platform endpoint.
Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit and concurrency.
Registry lookup finds the route. Handle and URL formats run first, so a malformed handle or an invite link returns 400 with no charge.
A deterministic cache key is built from platform, resource, and params. Hit: credits_used is 0. Miss: upstream fetch with retries and circuit breaker.
Upstream JSON is mapped to Author, Post, and PostList, validated, wrapped in the success envelope, and logged for billing audit.
Billing rules that matter in production
Telegram is public-read data on SocialCrawl. We normalize the public channel surface into the shared schema so your code does not learn the Bot API or MTProto.
Public channels and groups that publish a public preview. Read-only for research, monitoring, and product jobs.
A social-read upstream behind one gateway. No bot has to be an administrator of the channel you are reading.
Unified JSON envelope: success, data, credits_used, request_id, cached. Media arrives as direct URLs you can fetch or embed.
No write endpoints, no private channels, no direct messages, and no member lists. Post comments live in a separate discussion group and are not exposed.
The jobs this API is most often used for.
Telegram channel monitoring and content archiving
Callers concentrate on channel post history, then deepen single posts they already hold links to. Full channel history behind a resumable cursor, with playable media URLs and no bot token, at 1 credit a page.
Channel reads are typically a few seconds on a live miss. Cache hits return immediately.
Common ways teams put this data to work, and the stack each one tends to run.
Poll a channel's latest page and alert when a post lands or when views climb fast.
Walk a channel's full history once with the cursor, then keep it current from page one.
Resolve a channel, page its posts, and pull media URLs straight into your own pipeline.
Live misses spend 1 credit. Cache hits are free. Not found and invalid input are never charged.
curl "https://www.socialcrawl.dev/v1/telegram/profile?handle=telegram" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/telegram/profile/posts?handle=telegram" \
-H "x-api-key: sc_your_api_key_here"Same key as the rest of the catalog
Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.
Same Telegram data, two very different paths. Auth, rate limits, schema, and cost, side by side.
| Feature | SocialCrawl | Official Telegram API |
|---|---|---|
| Read any public channel | Yes, by handle or t.me URL | Bot API reads only channels your bot administers |
| Credentials needed | One x-api-key | Bot token, or an account on a real phone number for MTProto |
| Post history | Cursor pagination through the whole public archive | Bot API cannot read history it did not receive live |
| Media | Playable CDN URLs on every photo and video | File ids that need a second authenticated download call |
| Response shape | Same canonical JSON as every other platform | Raw MTProto objects with protocol flags and int64 ids |
| Rate limits | Standard account limits, no per-channel throttle | Per-bot and per-chat flood limits enforced by Telegram |
Read any public channel
Credentials needed
Post history
Media
Response shape
Rate limits
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usAsk AI about SocialCrawl