Webhook checker

What Telegram knows about your bot's webhook: the URL, the last delivery error and how many updates are waiting — with what each one means.

Check a webhook

Paste the token from @BotFather. Your browser calls getWebhookInfo on api.telegram.org itself.

Your token never reaches this site

It goes from your browser straight to api.telegram.org, is kept only in this page's memory and is gone when you press Clear or close the tab. This site has no endpoint that accepts a token, and this page's Content-Security-Policy allows connections to Telegram and to this site only. If a token has ever been pasted somewhere you do not trust, revoke it in @BotFather (/revoke).

Or run it yourself — same answer, nothing typed into a website
TOKEN='paste-your-token-here'
curl -s "https://api.telegram.org/bot$TOKEN/getWebhookInfo"

Requirements for a webhook

SchemeHTTPS only
Ports443, 80, 88, 8443
Answer2xx, no redirect
max_connections1–100, default 40

Source: Bot API, setWebhook.

Reset it

Remove the webhook and drop what is queued, then set it again:

curl -s "https://api.telegram.org/bot$TOKEN/deleteWebhook?drop_pending_updates=true"
curl -s "https://api.telegram.org/bot$TOKEN/setWebhook" \
  -d url=https://example.com/telegram/webhook

FAQ

Why is my Telegram webhook not receiving updates?

The usual causes, in order: no webhook is set (URL empty), your endpoint does not answer 200, the TLS certificate chain is incomplete, the port is not 443, 80, 88 or 8443, or the update type is missing from allowed_updates. getWebhookInfo shows which one applies.

What does pending_update_count mean?

The number of updates Telegram is still trying to deliver. A growing number means your endpoint is failing. Telegram keeps undelivered updates for up to 24 hours.

Why does getUpdates return a 409 Conflict?

A webhook is set. getUpdates and webhooks exclude each other: call deleteWebhook first if you want to use long polling.

How do I remove a webhook?

Call deleteWebhook. Add drop_pending_updates=true to throw away the queued updates as well.

Does Telegram follow redirects?

No. The webhook URL must answer directly with a 2xx status. A 301 or 302 counts as a failed delivery.