Get a Telegram channel or group · Telegram API
Returns a public Telegram channel or group by username: title, description, subscriber or member count, online count and avatar. Returns `not_found` when the username does not exist or the entity is restricted.
Using ChatGPT, Claude Code or another client? See the setup steps
curl https://api.unifapi.com/telegram/channels/{username} \
-H "Authorization: Bearer $UNIFAPI_KEY"Parameters
- usernamepathrequired
- Public Telegram username of the channel or group, with or without a leading @.
- The parameter for this Telegram operation. Use the URL-visible slug or id described in the docs.
This operation is part of the Telegram API in the social platforms category. It uses the same Bearer token, request tracing, error model, and billing envelope as every UnifAPI endpoint, so agents can switch between platforms without custom per-vendor glue code.
Use it when a workflow needs Telegram public data alongside other social networks, but should still keep one API key, one account balance, and one predictable JSON contract.
Common agent workflows
- Resolve a public Telegram identity into structured profile metadata for enrichment agents.
- Refresh creator, company, or account snapshots without managing source-specific response shapes.
- Give an AI agent a stable Telegram data source without building a per-platform integration.
- Normalize Telegram responses into the same UnifAPI envelope used across the catalog.
Unified envelope, platform-native fields
- Lookup responses return one canonical object in `data` with stable identifiers, source URLs where available, and platform-specific metadata normalized into predictable JSON.
- The operation has a 3 credits ($0.003) minimum charge, so `billing.records_charged` can be higher than the visible records returned.
- A not-found or invalid-input condition uses the unified UnifAPI error shape, so callers do not need special handling for each source platform.
Response status codes
Billing
This operation charges 1 credit per billable record, with a 3 credits ($0.003) operation minimum. Public responses include billing metadata with credits charged, records charged, and remaining workspace balance. Incorrect Credit deductions caused by platform failures can be restored as billing corrections.
Errors and retries
Authentication, validation, rate-limit, not-found, and provider errors use the unified UnifAPI error format. Agents should log `request_id`, retry only retryable failures, and treat invalid API keys, disabled keys, and expired keys as the same public `unauthorized` error type.
Fields in the data object
A successful Get a Telegram channel or group call returns one data object with these fields.
- entity_typestring | null
- Resolved Telegram public entity type. One of: channel, group, user_or_bot, unknown.
- titlestring | null
- Display name.
- descriptionstring | null
- Bio/description text. Line breaks are preserved when Telegram renders them on the public page.
- subscriber_countnumber | null
- Subscriber count for broadcast channels from Telegram's public page at t.me/{handle}. Null for groups and other entity types.
- member_countnumber | null
- Member count for public groups/supergroups. Null for channels and other entity types.
- online_countnumber | null
- Currently online member count when Telegram shows it on the public group page. Null for channels and other entity types.
- avatar_urlstring | null
- URL of the avatar image when Telegram serves a CDN photo.
- is_verifiedboolean | null
- Whether the entity has a Telegram verified badge.
- usernamestring | null
- The canonical username/handle that was looked up.
More Telegram operations
Combine endpoints from the same platform, then join the results with other UnifAPI categories without changing authentication or response parsing.
List posts from a Telegram channel
Returns recent public posts from a Telegram channel, newest first: text, views, reactions, media and forwards. Groups are not supported. Paginate with `cursor`.
Get a Telegram channel post
Returns one public post from a Telegram channel by channel username and post id (the number at the end of a t.me link). Returns `not_found` when the post does not exist.