App Logo
Messaging Reduck MCP

How to Export Telegram Group Members to Excel or CSV (no API key, no bot, no admin rights)

Prompt template

Export the members of my Telegram group group name to a CSV file, with each member's name, username, user id, role and join date.

Overview

Community managers, event organizers, researchers and founders often need the member list of a Telegram group they are in: to see who joined, to compare two groups, or to import the list into a CRM or a spreadsheet. Telegram shows the list on screen, but it has no export button. With Reduck, your AI agent reads the list in Telegram Web, signed in as you, and writes it to a CSV or Excel file.

Why it's hard

  • Telegram has no export for members. Telegram Desktop's Export chat history saves messages and media, not who is in the group.
  • A bot cannot do it. The Bot API's getChatAdministrators returns the admins only, and a bot sees only the groups it was added to.
  • The API way needs a developer setup. Telethon and Pyrogram can list members, but first you create an app at my.telegram.org to get an api_id and an api_hash. That form often answers with a bare "ERROR" (Telethon issue #4661), the first login sends a code to your phone, and the session file it saves gives full access to your account. Pyrogram's repository is archived.
  • Copying by hand stops at a few dozen names.

How Reduck does it

Reduck runs scripts in your own Chrome, where you are already signed in to web.telegram.org. Your agent:

  1. Finds the group with get_inbox, which lists your conversations with their peer id. A public group also works by its @username.
  2. Reads the members with get_group_members: up to 200 a call, each with user id, name, username, role, custom title and join date, and the group's total member count. It passes nextOffset to the next call until the list ends.
  3. Writes the CSV, or an Excel file, with one row per member.

You get the full list a member can see, in one file, without an api_id, a bot, a phone code or a script to maintain. Reading the list does not open the conversation, so nothing is marked as read.

How to start

  1. Create a free account at reduck.ai.
  2. Install the Reduck extension in Chrome and pair it.
  3. Connect Reduck to your agent: docs.reduck.ai.
  4. Ask: "Export the members of my Telegram group {group name} to a CSV file, with each member's name, username, user id, role and join date."

Sign in to web.telegram.org in that Chrome first.

Ways to export Telegram group members

Method Regular member Needs What you get
Copy by hand Yes Time Names you copy, one by one
Bot API (getChatAdministrators) No, the bot must be in the group A bot token Admins only
Telethon or Pyrogram script Yes An api_id and api_hash, Python, a phone login, a session file Every member Telegram shows you
Reduck Yes Telegram Web open in your Chrome Every member Telegram shows you, with role and join date

Where Reduck is weaker: it runs in your Chrome on a computer, so it does not run from a server on its own, and a Python script can run unattended on any machine.

What the export looks like

user_id name username role custom_title joined_at
123456789 Ana Lopez analopez owner 2024-03-02
234567890 Sam Lee samlee admin Moderator 2024-05-18
345678901 Jo Kim member 2026-10-30

FAQ

Yes, when the group shows its member list to members, which is the default. get_group_members reads the list that Telegram shows you as a member. If the admins turned on hidden members, Telegram shows regular members only the admins, and the export then has only the admins. In a channel, only admins can see the subscribers, so the script refuses a channel whose list you cannot see.
No. The script reads the list in Telegram Web, in your own Chrome, where you are already signed in. You do not create an app at my.telegram.org, so you get no api_id or api_hash and no session file. A bot is not an option for this anyway: the Bot API's getChatAdministrators returns the admins only, and a bot cannot list a group's regular members.
Not in the apps. Telegram Desktop's Export chat history saves messages and media, not the member list. To get the list into a spreadsheet you copy it by hand, write a script with the MTProto API (Telethon or Pyrogram), or use a tool that reads your own session, as this page does.
One row per member: user id, name, username, role (owner, admin or member), the custom title an admin set, if any, and the join date. The group's total member count comes with it. A phone number is not in the list: get_contact_info gives a person's phone only when they share it with you.
All the members Telegram shows you, 200 per call. Your agent passes the nextOffset of each call to the next one until it is null, then writes the file. For a large group it pauses between pages, at the pace of a person.
No. The scripts run in Chrome on a computer, in Telegram Web, through the Reduck extension. Your phone stays signed in and nothing changes for it.
Reading a member list is what Telegram Web does when you open a group's members, and the script does not send anything, join anything or mark messages as read. Telegram restricts accounts that act like bots, mostly accounts that send many messages to people who did not write first. Do not use an exported list to message people in bulk: Telegram's terms forbid spam, and that is what gets accounts frozen.
Yes. Reduck connects to Claude, ChatGPT, Cursor and any other MCP client. Give your agent the prompt on this page with your group's name: it finds the group with get_inbox, reads every page of members and writes the CSV.

Similar use cases

Luma

Export a Luma guest list

Let Claude, ChatGPT or any AI agent export the guest list of a Luma event you are going to, with each attendee's name, bio and LinkedIn, X and Instagram handles, from your own Luma account, with no session cookie to paste.

Growth hacking
Discord

Archive a Discord channel to a database

Archive a Discord channel even if you are a regular member with no permissions, and keep saving its new messages to a database on a schedule. Your AI agent, or the Reduck CLI in a cron job, reads the channel page by page with Discord's own search, as your own account, and writes every message's author, time, text and link. No bot to add, no user token to paste.

Messaging

Start building not clicking