---
search:
  tags:
    - Players
    - GET
seo:
  description: >-
    Returns a player's profile, lifetime totals, personal records and current
    ratings.… Reference for the GET /players/{id} endpoint in the dartpilot
    Public API.
sidebar:
  label: Get a player
  badge: GET
title: Get a player
type: openapi-operation
---
Returns a player's profile, lifetime totals, personal records and current ratings. The target must be the API key owner or an accepted friend; anyone else returns `404`. Current lobby and game ids are only included when they are public.

`GET /players/{id}`

**Responses**

- `200` — The player profile.
- `400` — Invalid request.
- `401` — Missing or invalid API key.
- `403` — The API key is missing a required scope or is the wrong type for this endpoint.
- `404` — Entity not found.
- `429` — Rate limit exceeded. See the \`Retry-After\` header.
- `500` — Internal server error.

Response example, 200:

```json
{
  "id": "string",
  "name": "string",
  "displayName": "string",
  "image": "string",
  "createdAt": "string",
  "status": "online",
  "currentLobbyId": "string",
  "currentGameId": "string",
  "lifetime": {
    "gamesPlayed": 0,
    "wins": 0,
    "winRatePct": 0,
    "dartsThrown": 0,
    "total180s": 0,
    "total140s": 0,
    "totalTons": 0,
    "totalBulls": 0,
    "totalThreeInABed": 0,
    "totalCheckouts": 0,
    "currentWinStreak": 0,
    "bestWinStreak": 0,
    "currentDailyStreak": 0,
    "bestDailyStreak": 0,
    "firstPlayedAt": "string",
    "lastPlayedAt": "string"
  },
  "byGameType": [
    {
      "gameType": "string",
      "gamesPlayed": 0,
      "wins": 0
    }
  ],
  "records": {
    "bestAverage": 0,
    "highestCheckout": 0,
    "most180sInGame": 0,
    "mostDartsWinningCheckout": 0
  },
  "ratings": [
    {
      "gameType": "string",
      "scope": "string",
      "rating": 0,
      "deviation": 0,
      "gamesPlayed": 0,
      "lastRatedAt": "string"
    }
  ]
}
```
