Social — entry 030 of 39

Telegram Bot

Verified Jul 2026

The Telegram Bot API is a plain HTTP/JSON interface at api.telegram.org that lets developers build bots for messaging, inline queries, payments, and media without implementing the full MTProto client protocol — every request is scoped to a single bot token issued by @BotFather. It's free to use, with the only monetized surface being optional in-chat payments via Telegram Stars.

socialmessagingbotschatwebhooks
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score84out of 100
Authentication15/25API key required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 84 on greatapis.com
<a href="https://greatapis.com/api/telegram-bot/"><img src="https://greatapis.com/badge/telegram-bot.svg" alt="Scored 84 on greatapis.com"></a>

Auth quickstart

  1. Sign up with the provider to get an API key.
  2. Send it on every request as a headerAuthorization: <key>
  3. The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.telegram.org/bot{token}
addStickerToSet1
POST/addStickerToSet
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
answerCallbackQuery1
POST/answerCallbackQuery
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
answerInlineQuery1
POST/answerInlineQuery
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
answerPreCheckoutQuery1
POST/answerPreCheckoutQuery
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
answerShippingQuery1
POST/answerShippingQuery
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
close1
POST/close
Responses
StatusDescriptionSchema
200
defaultError
copyMessage1
POST/copyMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
createNewStickerSet1
POST/createNewStickerSet
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
deleteChatPhoto1
POST/deleteChatPhoto
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
deleteChatStickerSet1
POST/deleteChatStickerSet
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
deleteMessage1
POST/deleteMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
deleteStickerFromSet1
POST/deleteStickerFromSet
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
deleteWebhook1
POST/deleteWebhook
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
editMessageCaption1
POST/editMessageCaption
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
editMessageLiveLocation1
POST/editMessageLiveLocation
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
editMessageMedia1
POST/editMessageMedia
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
editMessageReplyMarkup1
POST/editMessageReplyMarkup
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
editMessageText1
POST/editMessageText
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
exportChatInviteLink1
POST/exportChatInviteLink
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
forwardMessage1
POST/forwardMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getChat1
POST/getChat
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getChatAdministrators1
POST/getChatAdministrators
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getChatMember1
POST/getChatMember
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getChatMembersCount1
POST/getChatMembersCount
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getFile1
POST/getFile
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getGameHighScores1
POST/getGameHighScores
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getMe1
POST/getMe
Responses
StatusDescriptionSchema
200
defaultError
getMyCommands1
POST/getMyCommands
Responses
StatusDescriptionSchema
200
defaultError
getStickerSet1
POST/getStickerSet
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getUpdates1
POST/getUpdates
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getUserProfilePhotos1
POST/getUserProfilePhotos
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
getWebhookInfo1
POST/getWebhookInfo
Responses
StatusDescriptionSchema
200
defaultError
kickChatMember1
POST/kickChatMember
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
leaveChat1
POST/leaveChat
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
logOut1
POST/logOut
Responses
StatusDescriptionSchema
200
defaultError
pinChatMessage1
POST/pinChatMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
promoteChatMember1
POST/promoteChatMember
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
restrictChatMember1
POST/restrictChatMember
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendAnimation1
POST/sendAnimation
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendAudio1
POST/sendAudio
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendChatAction1
POST/sendChatAction
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendContact1
POST/sendContact
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendDice1
POST/sendDice
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendDocument1
POST/sendDocument
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendGame1
POST/sendGame
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendInvoice1
POST/sendInvoice
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendLocation1
POST/sendLocation
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendMediaGroup1
POST/sendMediaGroup
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendMessage1
POST/sendMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendPhoto1
POST/sendPhoto
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendPoll1
POST/sendPoll
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendSticker1
POST/sendSticker
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendVenue1
POST/sendVenue
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
sendVideo1
POST/sendVideo
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendVideoNote1
POST/sendVideoNote
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
sendVoice1
POST/sendVoice
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatAdministratorCustomTitle1
POST/setChatAdministratorCustomTitle
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatDescription1
POST/setChatDescription
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatPermissions1
POST/setChatPermissions
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatPhoto1
POST/setChatPhoto
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatStickerSet1
POST/setChatStickerSet
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setChatTitle1
POST/setChatTitle
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setGameScore1
POST/setGameScore
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setMyCommands1
POST/setMyCommands
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setPassportDataErrors1
POST/setPassportDataErrors
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setStickerPositionInSet1
POST/setStickerPositionInSet
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
setStickerSetThumb1
POST/setStickerSetThumb
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
setWebhook1
POST/setWebhook
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError
stopMessageLiveLocation1
POST/stopMessageLiveLocation
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
stopPoll1
POST/stopPoll
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
unbanChatMember1
POST/unbanChatMember
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
unpinAllChatMessages1
POST/unpinAllChatMessages
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
unpinChatMessage1
POST/unpinChatMessage
Request body

application/json (required)

Responses
StatusDescriptionSchema
200
defaultError
uploadStickerFile1
POST/uploadStickerFile
Request body

multipart/form-data (required)

Responses
StatusDescriptionSchema
200
defaultError

Try it

Developer reference

Base URLhttps://api.telegram.org/bot{token}
Rate limit

Telegram's Bots FAQ (core.telegram.org/bots/faq), not the API reference itself, sets the effective ceilings: avoid more than one message per second in a single chat (short bursts are tolerated before 429 errors start), no more than 20 messages per minute in the same group, and bulk/broadcast sends across different users capped at about 30 messages per second by default -- bot owners can raise that broadcast ceiling to up to 1,000 messages per second by enabling paid broadcasts via @BotFather, billed at 0.1 Telegram Stars per message beyond the free 30/sec allowance.

Key endpoints
  • POST/getMe
  • POST/sendMessage
  • POST/getUpdates