Discord Server Stats — Members, Voice & Features avatar

Discord Server Stats — Members, Voice & Features

Pricing

from $2.01 / 1,000 results

Go to Apify Store
Discord Server Stats — Members, Voice & Features

Discord Server Stats — Members, Voice & Features

Get public stats for Discord servers by ID or invite code: member counts, online presence, voice channels, features and creation date. No bot token, no login.

Pricing

from $2.01 / 1,000 results

Rating

0.0

(0)

Developer

Axery

Axery

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Discord Public Server Stats

Gets public statistics for Discord servers over plain HTTP — no bot token, no OAuth, no login.

Scope: public server metadata only

This Actor reads two of Discord's own token-free endpoints, both of which expose only what a server owner has chosen to make public:

  • Widget (/guilds/{id}/widget.json) — live online count, voice channels, and a sample of currently-online members
  • Invite lookup (/invites/{code}?with_counts=true) — server name, description, approximate member and online totals

Message content is not accessible through either, and no attempt is made to read messages, DMs, or anything behind a login.

What makes this different

Server creation date, decoded — a field Discord never returns. Discord IDs are snowflakes that encode their creation timestamp in the high bits. This Actor shifts out the worker/process/increment bits and adds Discord's epoch, giving you an exact created_at that no API field provides.

A disabled widget doesn't silently vanish. Most servers keep the public widget off — that's an owner setting, not a scraping failure. Those servers are still returned as rows with widget_available: false and whatever the invite lookup could supply, so a batch never looks like it succeeded on fewer servers than you asked for.

Rate limits are honoured, not guessed. Discord's 429 response states exactly how long to wait; the client waits that long instead of applying a generic backoff.

The member list is labelled as a sample, not a roster. Discord caps the widget's member array at 100 and includes only members currently online. The field is named online_members_sample with an explicit online_members_sample_size, because on any busy server it will disagree with presence_count — by design, not by error.

Input

FieldTypeNotes
guildIdsarrayNumeric server IDs (15–25 digits). Gives live widget stats.
inviteCodesarrayInvite codes or full URLs — discord.gg/xxxx and discord.com/invite/xxxx both work. Gives member totals regardless of widget setting.
proxyConfigurationobjectDatacenter is enough.

You can pass either or both. When an invite resolves to a server ID, the widget is tried too so both sets of fields get filled in.

Known limits

  • Widget stats require the owner to have enabled it. Roughly most servers have not.
  • Voice channels only. The widget exposes voice channels; text channels are not included.
  • Member counts from invites are approximate — that's Discord's own wording (approximate_member_count), and the field name preserves it.

Local development

pip install -r requirements.txt
python test_local.py --out sample_output.json
python test_local.py --guilds 81384788765712384 --invites python

sample_output.json covers both cases: one server with the widget enabled, one with it disabled and read via invite instead.