Jump to the guide
BuyPollVotes
Send a poll link

Telegram Poll Results: How Votes Are Counted, Read and Exported

The quick answer

Telegram poll results show as a per-option vote count with a percentage bar in the chat, updating in real time. Telegram's own API exposes the same data: messages.getPollResults returns total_voters and per-answer counts, while messages.getPollVotes lists individual voters in non-anonymous polls. You can also export telegram poll results from Telegram Desktop under Settings > Advanced > Export Telegram data, where a JSON file carries the question, closed status and full answer breakdown.

Written by BuyPollVotes editorial desk | Last checked

Where the numbers show up

Open any Telegram poll and you see the same layout: each answer option carries its own count and a percentage bar. The bars are relative, so the leading option stretches full width and the rest scale down against it. In a non-anonymous poll the names of who picked what sit under each option, and Telegram's documentation says the public_voters flag is what makes cast votes publicly visible in that case.

The counts move live. When someone in the group taps an option, every member's view updates, and Telegram's API pushes updated poll results to clients as votes arrive. And there is a switch for the opposite: Telegram's documentation describes a setting that hides vote results from all participants until the poll is closed, so a creator can keep the running tally private and reveal the final telegram poll results only at the end.

  • The current count per option sits next to each answer line as soon as you open the poll.
  • A percentage bar under each option scales against the strongest answer, so the front-runner is obvious at a glance.
  • In non-anonymous polls the voter names attach to their chosen options; in anonymous polls those names stay hidden.
  • If the creator switched on result-hiding, nothing shows until the poll closes.

How Telegram polls count votes

Voting in a native Telegram poll is tied to a Telegram account, not to an anonymous web visit. Telegram's developer documentation says users vote using messages.sendVote, specifying the chosen option identifiers, and the server checks that the current user is actually allowed to vote before the interface appears at all. One account, one set of taps, one entry in the tally.

The counting itself is straightforward arithmetic. Telegram's documentation defines total_voters as the total number of people who voted in the poll, and per-option counts as the number of votes each answer collected. In a single-choice poll those two figures match. In a multi-select poll they drift apart, because one voter can add several votes across different options, and Telegram's API counts the total number of votes for all options or for only a chosen option.

Two settings shape what the final count can show. A poll can allow one user to select multiple answer options, which Telegram's documentation lists as a standard flag. And a poll can prevent users from changing their vote after casting it, so the number you see at closing time is the number of committed choices, not a moving average of second guesses.

  • One vote is registered per tap, tied to the signed-in Telegram account.
  • The running total counts votes across all options, or for a single chosen option if the API call asks for one.
  • A poll can allow multiple selections, which separates the vote count from the voter count.
  • A poll can block vote changes after casting, locking the tally against second thoughts.

The API behind telegram poll results

Telegram's documentation says you can use messages.getPollResults to get the full poll results. The returned object carries total_voters, the per-answer counts, and recent_voters, which Telegram defines as the IDs of the last users that recently voted in the poll. For most reads, that single call is the whole story of how the count stands.

The voter-level view is a different method with a hard condition. Telegram's documentation says messages.getPollVotes gets poll results for non-anonymous polls, to see how each user voted for a poll option. On an anonymous poll that call has nothing to return, because the platform never stored a public mapping between voter and choice in the first place.

A bot reading telegram poll results works through these same methods. It calls getPollResults for the running tally, or getPollVotes when the poll is non-anonymous and a voter breakdown matters. The bot sees exactly what the API exposes for that poll's configuration, no more and no less.

  • messages.getPollResults returns the full result set for any poll the client can see.
  • messages.getPollVotes adds the per-user breakdown, but only for non-anonymous polls.
  • messages.sendVote is how a vote enters the count in the first place.
  • recent_voters in the results object lists the IDs of the last users who recently voted.

Export Telegram poll results from Desktop

For a permanent copy outside the chat, Telegram's export documentation says to export data from Telegram Desktop via Settings > Advanced > Export Telegram data. The export tool produces a JSON file, and its schema documentation outlines the data layout for the whole archive, polls included.

Inside that file, a poll export object includes the poll question, closed status, total_voters and answers. Each answer object carries its own text, how many people voted for it, and whether the exporting user chose it. That is the complete mechanical picture: counts, not hidden data, in a format you can open in any text editor or feed to a script.

The export is a snapshot of what the API already knows. If the poll is anonymous, the file holds the aggregate counts and nothing per-person. If the poll is closed, the closed flag says so, and the numbers are final.

  • Open Telegram Desktop and go to Settings.
  • Click Advanced, then Export Telegram data.
  • Choose the scope of the export and wait for the JSON output.
  • Open the poll object to read question, closed status, total_voters and answers.

Who is allowed to vote at all

Telegram's documentation describes a poll setting that restricts voting to users whose phone-number-derived country code is on its allowed-country list. The client compares the poll's countries list against the user's own code before enabling the voting UI, so eligibility is checked on the device before a single vote is cast.

Channel polls are a special case. Telegram's API returns an error stating that channel poll voters and reactions cannot be fetched, specifically to prevent deanonymization. So even on a large channel poll, the per-user voter list is off the table by design.

The creator can also stop the count at any point. Telegram's documentation says to prematurely close a poll, preventing further votes, use messages.editMessage with the poll's closed flag set to true. After that, the telegram poll results freeze at whatever the tally had reached.

  • A poll can carry an allowed-country list checked against the voter's phone country code.
  • Clients verify voting eligibility before showing the voting interface.
  • Channel polls block voter fetching entirely to prevent deanonymization.
  • Closing a poll early stops further votes and fixes the final tally.

What the count cannot tell you

A telegram poll results page tells you how many, and sometimes who. It does not tell you whether the votes reflect real sentiment in the group. An organiser who published contest rules on top of a Telegram poll can disqualify votes it finds to be tampering with the voting process, and several contest rulebooks forbid entrants from offering voters money, gifts or any other form of consideration in exchange for their support, with disqualification as the stated penalty.

That is worth stating plainly because the mechanics make the risk visible. Every vote is tied to a Telegram account, counts update in front of the whole chat, and a sudden jump is something any member can watch happen in real time. Telegram's terms prohibit spam but do not expressly address bought or incentivised votes, which leaves enforcement to whatever rules the organiser layered on top, and those rules typically name disqualification as the outcome.

The honest limit of this page is the same as the honest limit of the poll: the count is a count. Reading intent, authenticity or legitimacy out of it goes past what the data supports, and no export changes that.

  • Anonymous polls expose counts and percentages only; no voter list exists to read.
  • The tally shows how many votes arrived, not why any of them arrived.
  • A high count says nothing about whether every vote came from a genuinely interested member.
  • Vote totals never come with an authenticity guarantee from the platform.
The API methods that carry telegram poll results, and what each one returns
MethodWhat it returnsRestriction
messages.getPollResultsFull poll results: total_voters, per-answer counts, recent_votersNone stated for polls the client can see
messages.getPollVotesHow each user voted for a poll optionNon-anonymous polls only
messages.sendVoteSubmits the chosen option identifiers and adds them to the countClient must verify the user is allowed to vote first
Export Telegram dataJSON with question, closed status, total_voters and answersRuns from Telegram Desktop only

How to do it

  1. Open the poll

    Find the poll message in the chat and tap it to see the current counts and percentage bars.

  2. Read the per-option counts

    Each answer shows its vote count beside the option text, scaled as a percentage bar against the leading answer.

  3. Check voter names if the poll allows it

    In a non-anonymous poll, the voters who chose each option are listed under that option. In an anonymous poll, only the counts appear.

  4. Export from Desktop for a permanent copy

    In Telegram Desktop, open Settings, then Advanced, then Export Telegram data. The JSON output includes the poll question, closed status, total_voters and the full answers array.

Common questions

How telegram polls count votes?

Each tap on an option registers exactly one vote from the signed-in Telegram account, and the poll accumulates a count per option plus a total across all options. Telegram's API exposes that total as total_voters, the number of people who voted, and per-answer counts for each option. Multi-option polls can allow one user to select more than one answer, which is why the vote total and the voter total can differ.

How do you export Telegram poll results?

Telegram's own export route runs through Telegram Desktop: open Settings, then Advanced, then Export Telegram data. The resulting JSON file includes a poll object with the question, the closed status, total_voters and an answers array, where each answer carries its text, its voter count and whether the exporting user chose it.

Can you see who voted in a Telegram poll?

Only in a non-anonymous poll. Telegram's documentation says messages.getPollVotes gets poll results for non-anonymous polls, to see how each user voted for a poll option. In an anonymous poll the per-option counts and percentages still show, but no individual voter list is exposed, and the API will not return one.

Can a Telegram bot get poll results?

A bot works through the same API methods as any client: messages.getPollResults returns the full poll results with total_voters and per-answer counts, and messages.getPollVotes adds the voter breakdown for non-anonymous polls. What the bot receives depends entirely on how the poll was configured, so an anonymous poll gives it counts and nothing else.

When do Telegram poll results become visible?

Telegram's documentation lists a setting that hides vote results from all participants until the poll is closed, so visibility depends on how the creator configured it. Without that switch, results update in real time for everyone in the chat as votes arrive. A creator can also close a poll early, which stops further votes and fixes the final count.

Can a Telegram poll restrict who votes?

Yes. Telegram's documentation describes a poll setting that restricts voting to users whose country code, derived from their phone number, appears on the poll's allowed-country list. Clients check that list before showing the voting interface, so a voter outside the listed countries never sees the option to participate at all.

Can you stop people from changing their vote in a Telegram poll?

Telegram's documentation describes a setting that prevents users from changing their vote after casting it. When that switch is off, a voter can tap a different option and the count shifts accordingly, so the running tally reflects the latest choice rather than a locked one.

Where these facts come from

  1. Telegram. core.telegram.org/api/poll.
  2. Telegram. core.telegram.org/import-export.
  3. Telegram. core.telegram.org/import-export.
  4. Telegram. core.telegram.org/constructor/pollResults.
  5. Telegram. core.telegram.org/method/messages.getPollVotes.
Limits of this guide

This page explains how Telegram polls count votes and how telegram poll results can be read, but it does not sell anything, quote any price, or promise any outcome. It cannot show voter names in anonymous polls, cannot recover results from deleted chats, and never teaches any way to inflate a count or get around a platform check.

Rules come from the platform and the organiser

X prohibits coordinating with or compensating others to inflate engagement metrics, and it names Polls among the features covered. The Pet Industry Business Awards name the consequence in their own contest: a business may be investigated, lose votes or be disqualified on reasonable evidence of purchased votes. No seller can stop an organiser from doing that.

help.x.com piba.co.uk

Why ordinary voting looks ordinary

Slido says it is alerted when an event gets an unusually high number of votes in a very short time, and Crowdsignal says its built-in measures detect patterns of potentially abusive voting. Ordinary participation arrives spread across the voting window, from different people at different moments. Nothing on this site is a method for getting a vote past a check, and a vote that a tool blocks does not count.

community.slido.com crowdsignal.com

The legal position, and what is refused

Organiser rules differ: the RSPCA Pet of the Year Awards allow extra votes through donations on their official mechanism, while OpenTable Australia treats a vote cast in exchange for money or a reward as null and void. Both are contest rules, not statutes, and whether payment is lawful where you live is a question for a lawyer. Orders are refused for any contest whose rules ban paid votes, and for political ballots.

petoftheyearawards.com.au opentable.com.au

What a refund covers, and what it never does

Votes ordered for a poll that never appear on its count are refunded after the poll closes. A refund never covers an organiser's decision: Localsearch may void all votes for a disqualified nominee, and Mentimeter says a user whose access it cancels under its Acceptable Use Policy is owed no refund or compensation. No result is promised.

business.localsearch.com.au mentimeter.com

More poll guides

  • telegram poll boost How a Telegram poll is made and voted on, which settings the documentation lists, what cannot be edited, and what organisers' rules say about counts.
  • buy votes telegram channel Buy Telegram votes with the rules read first: what the platform counts, what contest organisers check, and what no order can promise.
  • telegram add poll How to add a poll on Telegram in a group, channel or chat: the attachment menu steps, the settings you can pick, and the account you need.
  • make telegram poll anonymous Telegram poll anonymous is the default: no one sees who picked what. When the setting stops, how public voting works, and what the creator can and cannot see.
  • Telegram Poll Bot Python: What the Code Sends, Closes and Reads How a telegram poll bot python project sends, closes and reads polls, what the Bot API lets a bot see, and which rules organisers enforce.
  • telegram poll word limit What a telegram poll limit actually covers: account voting, multiple answers, locked choices, country rules, and the figures Telegram never publishes.