Discord Member Scraper
Pricing
Pay per event
Go to Apify Store
Discord Member Scraper
Scrape member lists from Discord servers. Extract usernames, roles, join dates, and profile data using a Discord token.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by Community
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape member lists from Discord servers. Extract usernames, roles, join dates, nicknames, and profile data using your Discord token.
What it does
This actor connects to the Discord REST API using your user or bot token and extracts member data from a specified server (guild). It resolves role IDs to human-readable names and supports filtering by role, join date, and bot status.
How it works
- Fetches guild metadata (name, roles) for role name resolution
- Tries the standard
/guilds/{id}/membersendpoint (works with bot tokens that have GUILD_MEMBERS intent) - Falls back to
/guilds/{id}/members-search(works with user tokens) if the standard endpoint returns 403 - Applies filters (role, join date range, bot exclusion) and saves matching members
- Paginated using cursor-based pagination for both endpoints
Input
| Field | Type | Description |
|---|---|---|
token | string | Required. Your Discord user or bot token |
guildId | string | Required. Discord server ID (numeric) |
maxItems | integer | Maximum members to scrape (0 = all, default: 100) |
excludeBots | boolean | Skip bot accounts (default: true) |
filterRoles | array | Only include members with one of these role names |
joinedAfter | string | ISO 8601 date filter (e.g., 2024-01-01) |
joinedBefore | string | ISO 8601 date filter (e.g., 2025-01-01) |
How to find your Discord server ID
- Open Discord Settings > Advanced > Enable "Developer Mode"
- Right-click the server icon in the sidebar
- Click "Copy Server ID"
Token types
- User token: Works with the members-search fallback. Find it in browser DevTools under the
Authorizationheader when making Discord requests. - Bot token: Requires GUILD_MEMBERS privileged intent enabled in the Discord Developer Portal. Uses the standard members endpoint for faster pagination (up to 1000 members per request).
Output
Each record contains:
| Field | Description |
|---|---|
user_id | Discord user ID (snowflake) |
username | Discord username |
global_name | Display name |
discriminator | Legacy discriminator (mostly 0) |
avatar_url | User avatar URL |
nick | Server-specific nickname |
roles | Comma-separated role names |
role_ids | Comma-separated role IDs |
joined_at | ISO 8601 join date |
premium_since | Nitro boost date (null if not boosting) |
is_bot | Whether the user is a bot |
flags | Public user flags bitmask |
guild_id | Server ID |
guild_name | Server name |
Example output
{"user_id": "123456789012345678","username": "exampleuser","global_name": "Example User","discriminator": "0","avatar_url": "https://cdn.discordapp.com/avatars/123456789012345678/abc123.png","nick": "ExUser","roles": "Moderator, Developer","role_ids": "111111111111, 222222222222","joined_at": "2024-03-15T10:30:00.000000+00:00","premium_since": null,"is_bot": false,"flags": 0,"guild_id": "987654321098765432","guild_name": "My Server"}
Pricing
Pay per event:
- $0.10 per actor start
- $0.001 per member extracted
No subscription required.
Limitations
- Discord API rate limits apply (~1 request/second for user tokens)
- User tokens may not access all guilds' member lists (depends on server permissions)
- The members-search endpoint requires a brief index warmup on first use per guild
- Using user tokens may violate Discord's Terms of Service -- use at your own risk
Related actors
- Discord Message Scraper -- scrape messages from Discord channels