Skip to main content
GET
/
player
/
{membershipId}
/
profile
Get Player Profile
curl --request GET \
  --url https://api.example.com/player/{membershipId}/profile
{
  "playerInfo": {
    "membershipId": "<string>",
    "bungieGlobalDisplayName": "<string>",
    "bungieGlobalDisplayNameCode": "<string>",
    "membershipType": 123,
    "iconPath": "<string>",
    "lastSeen": "<string>",
    "isPrivate": true,
    "cheatLevel": 123
  },
  "stats": {
    "global": {
      "clears": {
        "value": 123,
        "rank": 123,
        "percentile": 123
      },
      "freshClears": {},
      "sherpas": {},
      "totalTimePlayed": {},
      "contest": {},
      "sumOfBest": {}
    },
    "activity": {
      "{activityId}": {
        "activityId": 123,
        "freshClears": 123,
        "clears": 123,
        "sherpas": 123,
        "fastestInstance": {}
      }
    }
  },
  "worldFirstEntries": {
    "{activityId}": {
      "activityId": 123,
      "instanceId": "<string>",
      "timeAfterLaunch": 123,
      "rank": 123,
      "isDayOne": true,
      "isContest": true,
      "isWeekOne": true,
      "isChallengeMode": true
    }
  }
}
Get a player’s profile information used to hydrate the RaidHub profile page. This includes global statistics, per-activity statistics, and world first entries.
This endpoint requires authentication if the player has a private profile.

Path Parameters

membershipId
string
required
The Destiny membership ID of the player (int64 format).

Response

playerInfo
object
Basic information about the player.
stats
object
Player statistics.
worldFirstEntries
object
World first rankings, keyed by activityId. Value is null if player didn’t complete during contest/day one.

Example Request

curl -X GET "https://api.raidhub.io/player/4611686018488107374/profile" \
  -H "X-API-Key: your_api_key_here"

Example Response

{
  "minted": "2026-03-03T12:34:56.789Z",
  "success": true,
  "response": {
    "playerInfo": {
      "membershipId": "4611686018488107374",
      "membershipType": 3,
      "iconPath": "/common/destiny2_content/icons/93844c8b76ea80683a880479e3506980.jpg",
      "displayName": "xx_newo_xx",
      "bungieGlobalDisplayName": "Newo",
      "bungieGlobalDisplayNameCode": "9010",
      "lastSeen": "2021-05-01T00:00:00.000Z",
      "isPrivate": false,
      "cheatLevel": 0
    },
    "stats": {
      "global": {
        "clears": {
          "value": 450,
          "rank": 1250,
          "percentile": 0.95
        },
        "freshClears": {
          "value": 320,
          "rank": 1100,
          "percentile": 0.93
        },
        "sherpas": {
          "value": 45,
          "rank": 5000,
          "percentile": 0.85
        },
        "totalTimePlayed": {
          "value": 540000,
          "rank": 2000,
          "percentile": 0.90
        },
        "contest": {
          "value": 1500.5,
          "rank": 500,
          "percentile": 0.98
        },
        "sumOfBest": {
          "value": 25000,
          "rank": 750,
          "percentile": 0.96
        }
      },
      "activity": {
        "9": {
          "activityId": 9,
          "freshClears": 25,
          "clears": 40,
          "sherpas": 5,
          "fastestInstance": null
        }
      }
    },
    "worldFirstEntries": {
      "9": null,
      "12": {
        "activityId": 12,
        "instanceId": "12345678901234567",
        "timeAfterLaunch": 28800,
        "rank": 450,
        "isDayOne": true,
        "isContest": true,
        "isWeekOne": true,
        "isChallengeMode": false
      }
    }
  }
}

Error Responses

PlayerNotFoundError (404)

{
  "minted": "2026-03-03T12:34:56.789Z",
  "success": false,
  "code": "PlayerNotFoundError",
  "error": {
    "membershipId": "4611686018488107374"
  }
}

PlayerPrivateProfileError (403)

Returned when the player has a private profile and you don’t have authorization.
{
  "minted": "2026-03-03T12:34:56.789Z",
  "success": false,
  "code": "PlayerPrivateProfileError",
  "error": {
    "membershipId": "4611686018488107374"
  }
}

Use Cases

  • Profile pages: Display comprehensive player statistics
  • Leaderboard positioning: Show where a player ranks globally
  • Achievement tracking: Display world first completions
  • Progress tracking: Monitor player improvement over time

Performance Notes

  • Cached for 30 seconds
  • Triggers asynchronous player data refresh
  • Returns 403 for private profiles without proper authentication

Build docs developers (and LLMs) love