The Telegram API in 2026.A bot, made admin of your channel.
To post to a Telegram channel from code, you use the Bot API: create a bot with @BotFather, make it an admin of the channel with the right to post, and call sendMessage or sendPhoto with the channel's @username. It's free, with no review. The other API, MTProto, logs in as a person, and Telegram watches accounts that use unofficial clients.

Northbeam Coffee
channel

Morning Light is out tomorrow: honey, orange and cocoa notes. Subscribers get it first.
The Telegram API at a glanceWhat it takes before the first post.
- Price
- Free. Paid broadcasts lift the 30-a-second ceiling, at 0.1 Stars per extra message
- Access
- A bot from @BotFather, added as an admin of the channel with Post messages. No review
- Posting
- sendMessage, sendPhoto, sendVideo or sendMediaGroup, with chat_id @channelusername
- Rate limit
- About 1 message a second per chat, 20 a minute in a group, 30 a second across chats
- Text
- 4,096 characters per message, 1,024 per caption
- Files
- By URL: photos 5 MB, other files 20 MB. Uploaded: photos 10 MB, files 50 MB
- Tokens
- A bot token doesn't expire; /token in @BotFather replaces it
- Scheduling
- None in the Bot API
Checked on October 6, 2026, from Telegram's developer documentation and terms.
To post to Telegram from your product, use Breakreach's API.We built it, so here's the case.
See the request- No bot to create or host: add @BreakreachBot as an admin of the channel and connect it once
- Scheduling the Bot API doesn't have, with retries when Telegram answers 429
- The same request posts to your other networks, and your users connect their channels on a hosted page
When to use Telegram's API directly. Breakreach sends one photo or one video per message, without albums, documents or formatting, and only reports the member count. For albums, rich messages or a bot that answers people, use the Bot API directly: it's free.
How to get access to the Telegram APIFrom a developer account to your first real post.
- 1Create a botIn @BotFather, send /newbot, then pick a name and a username ending in bot. It answers with the token.
- 2Make it an admin of the channelWith the Post messages right, can_post_messages in the API.
- 3Find the chat idA public channel is its @username. A private one needs its numeric id, which arrives with a channel_post update.
- 4Keep the token secretAnyone holding it controls the bot. /token in @BotFather generates a new one.
No registration and no review. The MTProto API, with an api_id and api_hash from my.telegram.org, is for user accounts: Telegram puts accounts that log in through unofficial clients under observation, and bans flooding or spam for good.
How to post with the Telegram APIThe requests in the demo above, one by one.
- 1Send the messagesendPhoto with chat_id, the photo (a URL, an upload or a file_id) and a caption. sendMessage for text, sendVideo for a video, sendMediaGroup for an album of 2 to 10.
- 2Read the answer{"ok": true, "result": Message} on success. On failure, ok is false, with error_code, description and, on a 429, parameters.retry_after.
Formatting is parse_mode HTML or MarkdownV2; MarkdownV2 needs characters like _ * [ ] ( ) ~ > # + - = | { } . ! escaped. In large channels, a message with a video can be held by the server until the video is re-encoded.
Common Telegram API errorsWhat they mean and how to fix them.
| Error | What it means | Fix |
|---|---|---|
400 Bad Request: chat not found | A wrong @username, a private channel addressed by @username, or a bot that was never added. | Use the exact @username or the numeric id, and add the bot. |
403 Forbidden: bot is not a member of the channel chat | The bot isn't in the channel, or was removed. | Add it as an admin with Post messages. |
429 Too Many Requests: retry after N | Over a per-chat, group or broadcast limit. | Wait retry_after seconds, and keep to 1 message a second per chat. |
400 Bad Request: failed to get HTTP URL content | Telegram couldn't fetch the URL, or the file is over 5 MB (photo) or 20 MB (other). | Upload the file instead of a URL. |
400 can't parse entities | Unescaped MarkdownV2 characters. | Escape them, or switch to HTML. |
Telegram API limitsRate limits, text and media.
- Rate limitsAvoid more than 1 message a second in a chat, 20 a minute in a group, and about 30 a second across chats. Paid broadcasts go up to 1,000 a second.
- Text4,096 characters per message, 1,024 per caption, counted after entities are parsed.
- PhotosUp to 10 MB; width plus height up to 10,000, and a ratio of at most 20.
- FilesBy URL: 5 MB for photos, 20 MB for other files. Uploaded: 10 MB for photos, 50 MB for other files. A local Bot API server raises uploads to 2,000 MB.
- Albums2 to 10 photos, videos, documents or audio files; documents and audio only group with their own kind.
Is the Telegram API free?
Yes. Telegram says bots can message their users at no cost, and the MTProto API is free of charge too.
The one paid option is paid broadcasts: up to 1,000 messages a second, at 0.1 Stars for each message over the free 30 a second, for bots holding at least 100,000 Stars with at least 100,000 monthly active users.
Through Breakreach, a Telegram channel counts like any other connected account: the first 2 are free, then $5 a month each up to 20.
Ways to post to Telegram from code
| What you set up | Price | Posts to Telegram | |
|---|---|---|---|
| Breakreach | An API key. Accounts connect through Breakreach's reviewed apps, or your users connect theirs on a hosted page | First 2 accounts free, then $5 a month per account (less from 21) | Yes, Channels |
| Telegram's own API | A bot from @BotFather, admin of the channel | Free | Yes |
| Upload-Post | An API key | Free for 2 profiles and 10 uploads a month; Basic $24 a month for 5 profiles | Yes |
| Zernio | An API key | First 2 accounts free, then $6 per account up to 10, $3 up to 100, $1 after | Yes |
| Ayrshare | An API key | From $149 a month for 1 profile, no free plan | Yes |
| Outstand | An API key | $19 a month for 3,000 posts, then per post | No |
What the Telegram API can't do
- Schedule messages
- Post as a person: that's MTProto, with its risks
- Send files over 50 MB without a local Bot API server
- See messages from other bots
- Post to a channel without admin rights
Post to Telegram with Breakreach's APIOne request, scheduled, with retries.
What it posts on Telegram
- Text messagesUp to 4,096 characters, sent to your channel.
- A photo or a videoOne of them, with a caption of up to 1,024 characters. With both, the video goes out.
- SchedulingscheduledAt in your workspace's timezone, the next free slot, or publishNow.
- Member countThe channel's member count; views per message aren't returned.
Not yet
- Albums
- Documents
- Bold, italics and links in the text
The full reference, webhooks and the price per connected account are on the developers page, and the OpenAPI spec is at api.breakreach.com/v1/openapi.json.
Questions, answered.
Short answers about the Telegram API.
Yes. Telegram says bots message their users at no cost, and MTProto is free of charge. The only paid option is paid broadcasts, for bots that need more than 30 messages a second.
Create the bot with @BotFather, add it to the channel as an admin with Post messages, then call sendMessage or sendPhoto with chat_id set to the channel's @username.
For a public channel, its @username works. For a private one, use the numeric id, which comes with a channel_post update once the bot is an admin.
Avoid more than 1 message a second in a chat, 20 a minute in a group, and about 30 a second overall. Going over returns 429 with a retry_after.
To post to a channel, the Bot API: a bot token and admin rights. MTProto logs in as a person, with an api_id and api_hash, and Telegram watches accounts that use unofficial clients.
Not through the Bot API: sendMessage has no schedule field. Scheduling means your own job, or an API like Breakreach that holds the post until scheduledAt.
The first 2 connected accounts are free; from the third it's $5 a month per account up to 20, $3 up to 100, then $2. You pay per connected account, never per post or per request.
Put your socials on autopilot.Live in two minutes.
Plans from $29 a month. Cancel anytime.