App Logo
discord.com

List Discord channels

TL;DR

Automatically list Discord channels on discord.com. You get the categories and channels your sidebar shows, top to bottom, with channel IDs and URLs.

About

Discord's developer API hands a server's channel list to a bot added to that server, and adding one takes the Manage Server permission. Without that, the list to work from is your own sidebar as your signed-in account sees it, scrolled to the bottom, since Discord only keeps the rows near the scroll position on the page. Say you are a plain member of a 120-channel modding server for a city-builder game and only care about #releases and the three channels under "Bug Reports". Grab the guildId from list_servers and run this once. A filter on category plus #releases leaves four URLs to feed read_messages every morning. If one of them is a forum, it needs list_forum_posts instead, and the output will not flag it because there is no channel type field. Folded categories are where people get caught out: Discord removes their already-read channels, so a category with collapsed true comes back short. Unfold it first.

Input

guildId required

Server id, e.g. from discord.com/list_servers.

Output

guildId required
channels required

Channels in sidebar order. The sidebar is scrolled top to bottom to cover rows the page renders lazily. Threads are not listed (a channel's thread rows are skipped).

categories required

Categories in sidebar order.

Example output

Shape only: placeholder values generated from the output schema, not a real run.

{ "guildId": "abc123", "channels": [ { "url": "https://example.com/item/123", "name": "Example", "category": "…", "channelId": "abc123" } ], "categories": [ { "name": "Example", "channelId": "abc123", "collapsed": true } ] }

FAQ

Lists a Discord server's channels and categories from its sidebar (name, channelId, category, channel URL). Takes a guildId. Requires being logged in.
Ask an AI agent connected to Reduck to run reduck/discord.com/list_channels, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/discord.com/list_channels
You do not need one. "List Discord channels" drives the real discord.com pages in a browser, so it works whether or not discord.com offers an API for this.
Required: guildId.
It returns guildId, channels, categories.
Yes. It acts as you on discord.com: on your own Chrome it reuses your session, and on a Reduck-hosted browser it loads the discord.com cookies saved by the Reduck extension.
It only reads. It looks things up on discord.com and changes nothing there.
Ask an AI agent connected to Reduck to run reduck/discord.com/list_channels, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/discord.com/list_channels
It is part of Reduck's official curated catalogue.
Only channels in your own sidebar come back. A folded category (collapsed true) returns just its unread channels, and with Hide Muted Channels switched on for that server the muted ones are not there either. On servers with Community Onboarding, channels you never picked stay out of your list until you add them under Channels & Roles > Browse Channels.
The channels array is already flat, one row per channel with channelId, name, category and url, so it goes into a CSV or a sheet as it is. Categories come in a second array with their own channelId and the collapsed flag. Row order is sidebar order; there is no position number, and topics, permissions, channel types and unread counts are not included.
The output has no type field, so text, announcement and forum channels look the same; only voice and stage channels stand out, with url null because clicking one joins the call instead of opening a page. Forums have to be picked out by name and sent to list_forum_posts, since read_messages does not read a forum channel. Threads are skipped altogether.
Discord's own way is to turn on Developer Mode under User Settings > Advanced, then right-click each channel and choose Copy Channel ID, one at a time. List Discord channels returns the channelId of every channel and category in your sidebar in one run. Each channel URL ends with that same ID.

Start building not clicking