Check a Telegram webhook with getWebhookInfo

getWebhookInfo shows whether Telegram can deliver updates to your bot. Here is how to read every field and fix the most common delivery errors.

Do it in a few clicks — no code, no server, right in your browser.

Check my webhook

Fields of WebhookInfo

FieldMeaning
urlCurrent webhook URL. Empty means the bot uses getUpdates (long polling).
pending_update_countUpdates waiting for delivery. A growing number means your server doesn't accept them.
last_error_date, last_error_messageTime (Unix) and text of the most recent delivery error.
last_synchronization_error_dateError while synchronizing updates with Telegram datacenters; usually temporary.
ip_addressIP address Telegram currently sends requests to.
max_connectionsMaximum simultaneous connections.
allowed_updatesSubscribed update types; absent means the default set.
has_custom_certificateWhether a self-signed certificate was uploaded.

Check with curl

curl "https://api.telegram.org/bot$BOT_TOKEN/getWebhookInfo"

Example response:

{
  "ok": true,
  "result": {
    "url": "https://example.com/telegram/webhook",
    "has_custom_certificate": false,
    "pending_update_count": 12,
    "ip_address": "203.0.113.10",
    "last_error_date": 1791446400,
    "last_error_message": "Wrong response from the webhook: 502 Bad Gateway",
    "max_connections": 40,
    "allowed_updates": ["message", "callback_query"]
  }
}

Typical last_error_message values

After fixing

Refresh the status: last_error_date stays until the next error, so compare its time with the current one. If the queue contains outdated updates, drop them with drop_pending_updates.

Do it in a few clicks — no code, no server, right in your browser.

Check my webhook