↑ ↓ to move ↵ to open
Discord API reference

Discord Server Widget

discord.server.get_widget

Read a server's public widget: online presence count, voice channels, and a live sample of online members. A disabled widget is reported, not an error.

At a glance

Endpoint ID
discord.server.get_widget
Price
1 credit per call; failed calls are free
Runs for up to
30 seconds
Request
POST /execute
Run an endpoint
MCP tool when pinned
discord__server__get_widget
Pin tools
OpenAPI
openapi.json
Download

Request

Send the endpoint ID as capability and its fields as input. Set UPSCRAPE_API_KEY to your key first.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "discord.server.get_widget",  "input": {    "guild_id": "267624335836053506"  }}'

Input

FieldTypeRequiredWhat it doesExample
guild_id string yes Numeric Discord server (guild) ID. 267624335836053506

Response

A finished call answers with HTTP 200; the data is in results[0].data, and billing.credits_charged is what it cost. A call still running after the wait answers 202: see jobs and results.

This is results[0].data from a real run:

results[0].data
{  "name": "Python",  "enabled": true,  "instant_invite": "https://discord.com/invite/WgmmdFEg",  "presence_count": 40126,  "channels": [    {      "name": "AFK",      "id": "756327105389920306",      "position": 22    },    {      "name": "Code/Help",      "id": "751592231726481530",      "position": 20    }  ],  "members": [    {      "username": "alen",      "id": "4",      "status": "idle"    },    {      "username": "ArrowSquid",      "activity": "Monster Hunter Rise",      "id": "10",      "status": "online"    }  ]}

Fields

FieldTypeExample
channels[].name string AFK
channels[].id string 756327105389920306
channels[].position integer 22
name string Python
channels array 3 records
enabled boolean true
instant_invite string https://discord.com/invite/WgmmdFEg
members array 2 records
members[].id string 4
members[].status string idle
members[].username string alen
presence_count integer 40,126

If a call fails

A failed call costs nothing. The response carries an error.code you can branch on; Errors and retries lists every code and which ones to retry.

Other Discord endpoints

Something missing or unclear? Ask the team that builds the Discord endpoints.