# GET /v2/teams/{id}/rankings

Group: Teams

Where a team or competitor stands in the ranking tables we serve: tennis players in the ATP / WTA rankings and the live rankings (with the career high), national teams in the FIFA or World Rugby ranking, clubs in the UEFA coefficients, fighters in their UFC division.

Note: One row per table, in the order of /v2/rankings; each is the team’s row of /v2/rankings/{type}. Tables we do not serve (UTR, padel, …) are left out. An empty array when the team is in none. bestPosition is the career high where the source gives one (tennis); bestPositionAt is rarely set.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | our numeric id (positive integer) |

## Response

- `data`: `TeamRanking[]`
- `meta`: count
- Objects: TeamRanking (https://sportsapi.app/markdown/en/reference.md#teamranking)

## Request

cURL:

```bash
curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/teams/{id}/rankings"
```

TypeScript:

```ts
const { data, meta } = await client.teams.rankings(id);
```

Python:

```python
res = client.teams.rankings(id)
```

Go:

```go
res, err := client.Teams.Rankings(ctx, id)
```

CLI:

```bash
$ sportsapi teams rankings <id>
```

## Example response

```json
{ "data": [
    { "type": "atp", "position": 2, "previousPosition": 1, "points": 9450, "previousPoints": 10450, "bestPosition": 1,
      "bestPositionAt": null, "tournamentsPlayed": 19 },
    { "type": "atp-live", "position": 2, "previousPosition": 2, "points": 9450, "previousPoints": null, "bestPosition": null,
      "bestPositionAt": null, "tournamentsPlayed": null } ],
  "meta": { "count": 2 } }
```

---

Base URL: https://api.sportsapi.app. Send your API key as `Authorization: Bearer <key>` on every /v2 request; keys are created in the dashboard (https://sportsapi.app/dashboard).
HTML: https://sportsapi.app/docs/teams/rankings · All docs: https://sportsapi.app/markdown/en/docs.md
