> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/discord/servers-serverid>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/discord/servers-serverid.mdx>

---

# Discord Server API

One server id, its public page as JSON, or its subscription store page instead.

`GET /v1/discord/servers/{serverId}` returns `data.server` for a public directory page: `id`, `name`, `description`, image URLs, `members`, `online`, `countsAsOf`, `boosts`, `locale`, `vanityCode`, `tag`, `tagBadge`, `traits`, `games`, `features`, `keywords`, `categories`, `primaryCategory`, `createdAt`, `reasonsToJoin`, `socialLinks`, `about` and `categoryIds`. `data.listed` is `true` for a directory page.

If the server id has a subscription store page instead, `listed` is `false`, `data.server` describes the store's server, `data.invite` gives the permanent invite when there is one, and `data.subscriptions` carries `storeDescription`, the cover image and groups of paid `tiers` with prices, benefits and trials. Add `include=widget` to get the public widget summary in the same request, or `announcements=false` to skip the embedded announcement channel list.

## Request

- **Endpoint:** `GET /v1/discord/servers/{serverId}`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by server id
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/discord/servers/serverid/get)
- **Platform page:** [/platforms/discord](https://www.socialfetch.dev/platforms/discord)

## FAQ

### How do I know whether I got a directory page or a store page?

Read data.listed. true means a directory server page; false means a subscription store page, where data.subscriptions may carry tiers and data.invite is the permanent invite.

### Can I add the widget to the same request?

Use include=widget. The response adds data.widget with enabled, the server, online, invite, voiceChannels and onlineSampleSize. A widget its owner switched off comes back as enabled false instead of failing the server lookup.

### What does announcements=false do?

It leaves the announcement channels out of the response. On found directory pages the list otherwise comes back in data.announcements.channels.

### What if the server has no public page?

You get HTTP 200 with lookupStatus not_found and listed false. The id may still belong to a server that is not listed in the public directory.

### How many credits does a server page cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
