Complete reference for all Destiny Zen tools.
Exact player search by full Bungie name.
Parameters:
bungieName(string, required): Full Bungie name with discriminator (e.g., "Guardian#1234")
Returns:
- Player profile with membership information
- Multiple platforms if player is cross-save enabled
- Character IDs for further queries
Example:
{
bungieName: "Guardian#1234"
}Response:
{
"displayName": "Guardian",
"bungieGlobalDisplayNameCode": 1234,
"memberships": [{
"membershipType": 3,
"membershipId": "4611686018467...",
"displayName": "Guardian",
"crossSaveOverride": 3
}]
}Use Cases:
- Get exact player profile
- Find membership IDs for API calls
- Verify player exists
Fuzzy search for players by partial name.
Parameters:
partialName(string, required): Partial player name (no discriminator needed)maxResults(number, optional): Maximum results to return (default: 10, max: 25)
Returns:
- List of matching players ranked by confidence score
- Play time and day-one raid completion stats
- Clan information
Example:
{
partialName: "Guardian",
maxResults: 5
}Response:
{
"players": [{
"name": "Guardian#1234",
"confidence": "HIGH",
"confidenceScore": 92,
"membershipType": 3,
"membershipId": "4611686018467...",
"playtimeHours": 4521,
"clanName": "Example Clan",
"dayOneRaids": 8
}]
}Use Cases:
- Search when exact name is unknown
- Find players with similar names
- Get ranked results by play time
Get full player profile with characters and stats.
Parameters:
membershipType(number, required): Platform ID (1=Xbox, 2=PS, 3=Steam, 6=Epic)membershipId(string, required): Player's membership IDcomponents(array, optional): Specific components to fetch (default: all)
Returns:
- All characters with power levels
- Clan information
- Total play time
- Last played date
Example:
{
membershipType: 3,
membershipId: "4611686018467..."
}Use Cases:
- Get all character information
- Check player's power levels
- View clan membership
Get detailed character information and equipment.
Parameters:
membershipType(number, required): Platform IDmembershipId(string, required): Player's membership IDcharacterId(string, required): Character ID from profile
Returns:
- Character class (Hunter, Titan, Warlock)
- Current power level
- Equipped weapons and armor with perks
- Subclass configuration
- Stats (Mobility, Resilience, etc.)
Example:
{
membershipType: 3,
membershipId: "4611686018467...",
characterId: "2305843009..."
}Use Cases:
- View character loadout
- Check equipped perks
- Analyze stat distribution
Get lifetime statistics for a player.
Parameters:
membershipType(number, required): Platform IDmembershipId(string, required): Player's membership IDcharacterId(string, optional): Specific character (or all characters if omitted)
Returns:
- PvE and PvP stats
- Kill/Death ratios
- Time played per activity
- Completion counts
Example:
{
membershipType: 3,
membershipId: "4611686018467..."
}Use Cases:
- View player career stats
- Compare PvE vs PvP activity
- Check lifetime completions
Get recent activity history for a character.
Parameters:
membershipType(number, required): Platform IDmembershipId(string, required): Player's membership IDcharacterId(string, required): Character IDmode(number, optional): Activity mode filter (0=All, 4=Raid, 82=Dungeon, etc.)count(number, optional): Number of activities (default: 25, max: 250)page(number, optional): Page number for pagination (default: 0)
Returns:
- Activity name (auto-resolved from hash)
- Completion status
- Duration
- Date/time
- Kills and deaths
- Fireteam members
Example:
{
membershipType: 3,
membershipId: "4611686018467...",
characterId: "2305843009...",
mode: 4, // Raids only
count: 10
}Common Mode Values:
0: All activities4: Raid5: All PvP7: All PvE16: Nightfall18: All Strikes46: Scored Nightfall82: Dungeon84: Trials of Osiris
Use Cases:
- Track recent completions
- Count specific activity runs
- View completion times
Get Post-Game Carnage Report for an activity.
Parameters:
activityId(string, required): Activity instance ID from activity history
Returns:
- Complete activity details
- Full fireteam roster
- Per-player statistics (kills, deaths, K/D, precision kills, etc.)
- Activity duration
- Completion status
Example:
{
activityId: "12345678901234567890"
}Use Cases:
- Detailed activity analysis
- Compare fireteam performance
- Verify activity completion
Search for weapons, armor, or items by name.
Parameters:
query(string, required): Item name or partial nameitemType(string, optional): Filter by type (Weapon, Armor, etc.)maxResults(number, optional): Max results (default: 10, max: 50)
Returns:
- Item hash for further queries
- Item name and description
- Item type and tier (Exotic, Legendary, etc.)
- Source information
- Season/expansion introduced
Example:
{
query: "Fatebringer",
itemType: "Weapon",
maxResults: 5
}Use Cases:
- Find item hash for detailed lookup
- Search for specific gear
- Browse items by name
Get complete item information including all possible perks.
Parameters:
itemHash(number, required): Item hash from search or APIincludePlugSets(boolean, optional): Include all perk options (default: true)
Returns:
- Complete item name and description
- All possible perk options per column
- Stat values
- Socket information
- Curated/recommended rolls
Example:
{
itemHash: 2171478765, // Fatebringer
includePlugSets: true
}Use Cases:
- See all possible weapon perks
- Check armor mod options
- Find god rolls
Get item image as base64-encoded data.
Parameters:
itemHash(number, required): Item hashimageType(string, optional): "screenshot" (default) or "icon"
Returns:
- Base64-encoded image data
- Image format (PNG/JPEG)
- Dimensions
Example:
{
itemHash: 2171478765,
imageType: "screenshot"
}Image Types:
screenshot: Large inspect view (~200KB) - best for detailed viewicon: Small inventory icon (~3KB) - best for quick reference
Use Cases:
- Display weapon/armor images
- Create loadout visualizations
- Reference item appearance
Filter leaderboard entries by activity name (partial), rank range, or partial player name. All filters are optional and case-insensitive.
Parameters:
activity(string, optional): Activity name (partial match, e.g., "Last Wish")minRank(number, optional): Minimum rank (inclusive)maxRank(number, optional): Maximum rank (inclusive)player(string, optional): Player name (partial match, e.g., "Datto")
Returns:
- List of leaderboard entries matching the filters (rank, player names, completion time)
Example:
{
activity: "Salvation's Edge",
minRank: 1,
maxRank: 10,
player: "Datto"
}Response:
{
"entries": [
{
"rank": 3,
"players": ["Datto#1234", "Sweatcicle#5678", "Saltagreppo#9999"],
"time": "1h 23m 47s"
},
...
]
}Use Cases:
- Find all top 10 runs for a specific player
- Filter by activity and rank range
- Search for completions with a given player in the fireteam
Get complete clan roster with member details.
Parameters:
membershipType(number, required): Platform IDmembershipId(string, required): Any clan member's membership IDincludeOnlineStatus(boolean, optional): Include online status (default: true)
Returns:
- All clan members
- Join dates
- Play time
- Last online
- Current activity (if online)
- Clan ranks
Example:
{
membershipType: 3,
membershipId: "4611686018467...",
includeOnlineStatus: true
}Use Cases:
- View clan roster
- Find online members
- Check member activity
Get activity details from the manifest.
Parameters:
activityHash(number, required): Activity hash from API
Returns:
- Activity name
- Description
- Activity type (Raid, Dungeon, Strike, etc.)
- Recommended power level
- Matchmaking availability
- Rewards
Example:
{
activityHash: 1541280591 // Salvation's Edge
}Use Cases:
- Resolve activity hash to name
- Get activity description
- Check power requirements
All tools return errors in a consistent format:
{
"error": {
"code": "ERROR_CODE",
"message": "Human-readable error message",
"details": {}
}
}| Code | Description | Solution |
|---|---|---|
INVALID_PARAMETERS |
Missing or invalid parameters | Check parameter format |
PLAYER_NOT_FOUND |
Player does not exist | Verify Bungie name format |
API_ERROR |
Bungie API returned error | Check API key and rate limits |
RATE_LIMIT |
Too many requests | Wait and retry |
NETWORK_ERROR |
Connection failed | Check network connectivity |
CACHE_ERROR |
Manifest cache issue | Clear cache and retry |
The server implements automatic rate limiting:
- Default: 150ms between requests
- Configurable via
API_RATE_LIMIT_MSenvironment variable - Automatic retry with exponential backoff (up to 3 retries by default)
Tools that return lists support pagination:
count: Number of items per page (varies by tool)page: Page number (0-indexed)- Check response for
hasMoreindicator
Example:
// First page
{ count: 25, page: 0 }
// Second page
{ count: 25, page: 1 }- Cache responses when possible - manifest data rarely changes
- Batch requests - use profile endpoint to get all characters at once
- Handle rate limits - implement exponential backoff
- Validate hashes - ensure hashes are numbers, not strings
- Check for nulls - player profiles can have missing data
- Use fuzzy search first - easier for users than exact names
- Store membership IDs - avoid repeated player lookups
find_players- Fuzzy searchsearch_player- Exact matchget_profile- Full profileget_character- Character details
get_activity_history- Recent activitiesget_pgcr- Detailed activity reportget_historical_stats- Lifetime stats
search_items- Find by nameget_item_details- See all perksget_item_image- Get image
get_clan_roster- View membersfind_players- Search members
For issues or questions:
- Check Troubleshooting Guide
- Review Bungie API Documentation
- Open an issue on GitHub