Telegram bot API returns empty result array in JSON response

I just set up a new Telegram bot and got my API token. When I try to test it by calling the getUpdates endpoint, I only get back {"ok":true,"result":[]} instead of actual message data.

Here’s what I’m doing:

https://api.telegram.org/bot[MY_TOKEN]/getUpdates

The response comes back as:

{"ok":true,"result":[]}

I expected to see some message updates or at least more data in the result array. Is this normal for a brand new bot? Do I need to send some messages to the bot first before the API will return anything? What am I missing here?

The empty result array is expected behavior when no updates are pending. You might also want to check if your bot is actually receiving messages properly by verifying the bot username is correct and accessible in Telegram search. Sometimes newly created bots take a few minutes to become fully active in the system. Another thing to consider is the offset parameter - if you’ve been testing with other tools or scripts that already consumed the updates, they won’t appear again unless new messages are sent. Also make sure you’re not running multiple instances of getUpdates simultaneously as this can cause conflicts and empty responses.

This is completely normal behavior for a new bot. The getUpdates endpoint only returns messages that have been sent to your bot after it was created, and it maintains an offset system to avoid returning the same updates repeatedly. You need to actually send a message to your bot first. Go to Telegram, search for your bot by username, start a conversation and send it any message like ‘hello’. Then call getUpdates again and you should see that message in the result array. One thing to keep in mind is that if you’re also using webhooks or another client to poll for updates, those will consume the updates and you won’t see them when manually calling getUpdates. The API only delivers each update once.

yeah thats totally normal! empty result just means no new messages yet. try messaging your bot first - just search for it in telegram and send anything like “hi”. then call getUpdates again and you’ll see your message data appear in the array.