# Sleeper

> Read your Sleeper fantasy football leagues. Post the week's scoreboard with every score and every starter, put up the standings, announce trades and waiver claims as they happen, check a lineup for injuries or an empty slot before kickoff, follow the playoff bracket to the final, look back over the draft, and watch the players the whole of Sleeper is picking up. Sleeper answers in IDs and codes; everything here comes back with people, teams and players named. Connect it with your Sleeper username and your leagues fill in the dropdowns. No account to create, no API key, and nothing that can change your league - it reads only.

App · Sports · 10 actions. Web page: https://docs.lodol.com/docs/integrations/sleeper

## Actions

### Get a league's draft

A league's most recent draft and every pick in it: the round and pick number, the player taken, the team that took them, and what was paid in an auction. The draft order comes back alongside, as does every pick that has been traded for this season. Ask for a single round to post a first-round recap rather than two hundred picks.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.
- Round (`draft_round`, number): One round of the draft. Leave empty for every pick in the whole draft. From 1 to 30.

**Outputs**

- `count` (number): How many picks came back
- `draft_id` (text): Sleeper's ID for the draft
- `draft_order` (list): Who picks where in round one
- `last_pick_at` (text): When the most recent pick was made, ISO 8601 in UTC
- `league` (text): What it is called
- `league_id` (text): The league read
- `picks` (list)
- `round_shown` (number): The round asked for, or empty when every round came back
- `rounds` (number): How many rounds it runs
- `season` (text): Which season
- `seconds_per_pick` (number): How long each manager has on the clock
- `started_at` (text): When the draft began, ISO 8601 in UTC
- `status` (text): 'Not started', 'In progress', 'Paused' or 'Finished'
- `teams` (number): How many teams pick
- `traded_picks` (list): Picks that changed hands before this draft
- `type` (text): 'Snake', 'Linear' or 'Auction'

**Example output**

```json
{
  "count": 1,
  "draft_id": "289646328508579840",
  "draft_order": [
    {
      "manager": "canzhi",
      "pick": 1,
      "team": "canzhi"
    }
  ],
  "last_pick_at": "2026-08-20T03:10:55Z",
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "picks": [
    {
      "auction_price": null,
      "draft_position": 1,
      "is_keeper": false,
      "manager": "progamer",
      "overall_pick": 1,
      "pick_in_round": 1,
      "player": {
        "age": 31,
        "injury": null,
        "injury_detail": null,
        "is_available": true,
        "jersey_number": 41,
        "name": "Alvin Kamara",
        "nfl_team": "NO",
        "nfl_team_name": "New Orleans Saints",
        "player_id": "4035",
        "position": "RB",
        "position_name": "Running back",
        "status": "Active",
        "years_experience": 9
      },
      "roster_id": 1,
      "round": 1,
      "team": "Kamara is the new DJ"
    }
  ],
  "round_shown": 1,
  "rounds": 15,
  "season": "2026",
  "seconds_per_pick": 120,
  "started_at": "2026-08-20T01:05:00Z",
  "status": "Finished",
  "teams": 12,
  "traded_picks": [],
  "type": "Snake"
}
```

### Get a league's settings

Read how a league is set up: what it is called, how many teams, what a catch is worth, exactly which slots a lineup starts and how deep the bench goes, when the playoffs start and how many teams make them, the trade deadline, whether waivers run on a budget and how big it is, and how many keepers are allowed. Sleeper stores most of this as numbers and codes; all of it comes back in words.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.

**Outputs**

- `avatar` (object): The league's picture, full size and thumbnail
- `bench_slots` (number): How many bench places
- `continues_from_league_id` (text): The same league last season, for a league that carries on
- `draft_id` (text): Sleeper's ID for the draft
- `format` (text): 'Redraft', 'Keeper' or 'Dynasty'
- `injured_reserve_slots` (number): Injured reserve places
- `is_best_ball` (true/false): True when lineups are set automatically each week
- `is_superflex` (true/false): True when the lineup has a superflex slot, so a second quarterback can start
- `keepers_allowed` (number): How many players can be kept year to year
- `league_id` (text): The league's ID
- `link` (text): The league on sleeper.com
- `name` (text): What the league is called
- `playoffs` (object): When the playoffs start and how many teams make them
- `roster_size` (number): Total squad size
- `roster_slots` (list): How many of each slot a roster carries
- `scoring` (text): 'PPR (a point per catch)', 'Half PPR ...' or 'Standard ...'
- `scoring_detail` (object): The scoring settings people actually argue about
- `season` (text): Which season, e.g. '2026'
- `sport` (text): Always 'nfl' here
- `starters_per_team` (number): How many players each team starts
- `starting_lineup` (list): Every slot a lineup starts, in order, named
- `status` (text): 'Waiting to draft', 'Drafting now', 'In season' or 'Season finished'
- `taxi_squad_slots` (number): Taxi squad places
- `teams` (number): How many teams are in it
- `trade_deadline_week` (number): The last week trades can be made
- `trades_reviewed_for_days` (number): How long a trade sits before it goes through
- `waivers` (object): How players are claimed off the waiver wire

**Example output**

```json
{
  "avatar": {
    "full": "https://sleepercdn.com/avatars/efaefa889ae24046a53265a3c71b8b64",
    "thumbnail": "https://sleepercdn.com/avatars/thumbs/efaefa889ae24046a53265a3c71b8b64"
  },
  "bench_slots": 6,
  "continues_from_league_id": null,
  "draft_id": "289646328508579840",
  "format": "Redraft",
  "injured_reserve_slots": 1,
  "is_best_ball": false,
  "is_superflex": false,
  "keepers_allowed": null,
  "league_id": "289646328504385536",
  "link": "https://sleeper.com/leagues/289646328504385536",
  "name": "Sleeper Friends League",
  "playoffs": {
    "starts_in_week": 15,
    "teams_that_qualify": 6
  },
  "roster_size": 15,
  "roster_slots": [
    {
      "count": 1,
      "slot": "QB",
      "slot_name": "Quarterback"
    },
    {
      "count": 6,
      "slot": "BN",
      "slot_name": "Bench"
    }
  ],
  "scoring": "PPR (a point per catch)",
  "scoring_detail": {
    "points_per_catch": 1.0,
    "points_per_first_down": null,
    "points_per_passing_touchdown": 6.0,
    "tight_end_catch_bonus": null
  },
  "season": "2026",
  "sport": "nfl",
  "starters_per_team": 9,
  "starting_lineup": [
    {
      "slot": "QB",
      "slot_name": "Quarterback"
    },
    {
      "slot": "RB",
      "slot_name": "Running back"
    },
    {
      "slot": "FLEX",
      "slot_name": "Flex (RB, WR or TE)"
    }
  ],
  "status": "In season",
  "taxi_squad_slots": null,
  "teams": 12,
  "trade_deadline_week": 12,
  "trades_reviewed_for_days": 2,
  "waivers": {
    "budget": 100,
    "claims_clear_after_days": 2,
    "style": "Free agent bidding (FAAB)"
  }
}
```

### Get a team's roster

One team's whole squad with every player named: the starting lineup slot by slot, the bench, anybody on injured reserve or the taxi squad, and a separate list of everyone carrying an injury. Sleeper stores a roster as a list of player IDs and nothing else, so this is where a workflow that wants to nudge a manager about a questionable running back, or catch an empty starting slot before kickoff, gets what it needs.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.
- Team (`team`, text, required): Which team in that league. The list holds every team in the chosen league. A team name, a manager's username or the team's number all work if one is coming from an earlier step instead.

**Outputs**

- `bench` (list)
- `counts` (object): How many are in each list above
- `empty_starting_slots` (list): Slots with nobody in them, which score zero
- `injured_reserve` (list)
- `injury_concerns` (list): Everyone on the squad carrying a game-day designation
- `league` (text): What it is called
- `league_id` (text): The league read
- `manager` (text): Who runs it
- `points_for` (number): Points scored this season
- `record` (text): e.g. '7-6'
- `roster_id` (number): The team's number
- `season` (text): Which season
- `starters` (list): The starting lineup, slot by slot, in Sleeper's own order
- `taxi_squad` (list)
- `team` (text): The team's name

**Example output**

```json
{
  "bench": [
    {
      "age": 31,
      "injury": null,
      "injury_detail": null,
      "is_available": true,
      "jersey_number": 41,
      "name": "Alvin Kamara",
      "nfl_team": "NO",
      "nfl_team_name": "New Orleans Saints",
      "player_id": "4035",
      "position": "RB",
      "position_name": "Running back",
      "status": "Active",
      "years_experience": 9
    }
  ],
  "counts": {
    "bench": 6,
    "empty_starting_slots": 0,
    "injured_reserve": 0,
    "injury_concerns": 0,
    "starters": 9,
    "taxi_squad": 0
  },
  "empty_starting_slots": [],
  "injured_reserve": [],
  "injury_concerns": [],
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "manager": "progamer",
  "points_for": 271.42,
  "record": "2-0",
  "roster_id": 1,
  "season": "2026",
  "starters": [
    {
      "player": {
        "age": 31,
        "injury": null,
        "injury_detail": null,
        "is_available": true,
        "jersey_number": 41,
        "name": "Alvin Kamara",
        "nfl_team": "NO",
        "nfl_team_name": "New Orleans Saints",
        "player_id": "4035",
        "position": "RB",
        "position_name": "Running back",
        "status": "Active",
        "years_experience": 9
      },
      "slot": "RB",
      "slot_name": "Running back"
    }
  ],
  "taxi_squad": [],
  "team": "Kamara is the new DJ"
}
```

### Get a week's scores

The week's scoreboard: who played whom, what each side scored, who is ahead and by how much, and every starter with the points they put up. Sleeper returns one unpaired row per team with nothing but IDs on it, so the pairing, the team names and the player names all happen here. Each side also carries its top scorer, which is the line a weekly recap wants. During games the scores are live.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.
- Week (`week`, text): Which week of the NFL season. Leave it on 'This week' and every run reads the week the NFL is actually in, so a weekly workflow never needs editing. One of: `current` (This week), `1` (Week 1), `2` (Week 2), `3` (Week 3), `4` (Week 4), `5` (Week 5), `6` (Week 6), `7` (Week 7), `8` (Week 8), `9` (Week 9), and 9 more. Default: `current`.

**Outputs**

- `count` (number): How many fixtures
- `highest_scoring_team` (object): The best score in the league this week
- `league` (text): What it is called
- `league_id` (text): The league read
- `matchups` (list)
- `message` (text): Present only when Sleeper has no scores for that week yet, saying so in a sentence
- `teams_without_an_opponent` (list): Teams Sleeper scheduled nothing for this week
- `week` (number): The week read

**Example output**

```json
{
  "count": 1,
  "highest_scoring_team": {
    "manager": "progamer",
    "points": 131.34,
    "roster_id": 1,
    "team": "Kamara is the new DJ"
  },
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "matchups": [
    {
      "combined_points": 251.18,
      "is_tied": false,
      "leader": {
        "manager": "progamer",
        "roster_id": 1,
        "team": "Kamara is the new DJ"
      },
      "margin": 11.5,
      "matchup": 1,
      "teams": [
        {
          "manager": "progamer",
          "points": 131.34,
          "roster_id": 1,
          "starters": [
            {
              "player": {
                "age": 31,
                "injury": null,
                "injury_detail": null,
                "is_available": true,
                "jersey_number": 41,
                "name": "Alvin Kamara",
                "nfl_team": "NO",
                "nfl_team_name": "New Orleans Saints",
                "player_id": "4035",
                "position": "RB",
                "position_name": "Running back",
                "status": "Active",
                "years_experience": 9
              },
              "points": 29.2,
              "slot": "RB",
              "slot_name": "Running back"
            }
          ],
          "team": "Kamara is the new DJ",
          "top_scorer": {
            "name": "Alvin Kamara",
            "nfl_team": "NO",
            "points": 29.2,
            "position": "RB"
          }
        },
        {
          "manager": "canzhi",
          "points": 119.84,
          "roster_id": 10,
          "starters": [],
          "team": "canzhi",
          "top_scorer": null
        }
      ]
    }
  ],
  "teams_without_an_opponent": [],
  "week": 2
}
```

### Get the current NFL week

Find out which week of which NFL season it is right now, and whether the season is under way, in the playoffs or over. Every action here that takes a week already defaults to this one, so reach for it when a workflow needs to say the week out loud, or to decide whether to run at all in the offseason.

**Inputs**: None.

**Outputs**

- `display_week` (number): The week Sleeper's own app is showing
- `is_offseason` (true/false): True when there is no football being played
- `league_season` (text): The season fantasy leagues are filed under, which differs from the NFL season in the spring
- `part_of_season` (text): 'Preseason', 'Regular season', 'Playoffs' or 'Offseason'
- `part_of_season_code` (text): Sleeper's own code for the same thing
- `previous_season` (text): Last season
- `scores_have_started` (true/false): True once games have been scored this season
- `season` (text): The NFL season, e.g. '2026'
- `season_started_on` (text): The date the season kicked off, e.g. '2026-09-09'
- `week` (number): The week now being played

**Example output**

```json
{
  "display_week": 2,
  "is_offseason": false,
  "league_season": "2026",
  "part_of_season": "Regular season",
  "part_of_season_code": "regular",
  "previous_season": "2025",
  "scores_have_started": true,
  "season": "2026",
  "season_started_on": "2026-09-09",
  "week": 2
}
```

### Get the playoff bracket

The playoff bracket, round by round, with every team named and every result in. Sleeper sends this as the rawest thing in its API - single letters pointing at roster numbers - so this is where it becomes readable: which week each round is played, what each game decides, who won, and for a game not played yet, which earlier game the teams are still waiting on. The champion comes back on its own field once the final has been played.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.
- Which bracket (`bracket`, text): The championship bracket is the teams that made the playoffs. The consolation bracket is everybody else, playing for placings. One of: `championship` (Championship bracket), `consolation` (Consolation bracket). Default: `championship`.

**Outputs**

- `bracket` (text): 'Championship bracket' or 'Consolation bracket'
- `bracket_code` (text): The value that was chosen
- `games` (number): How many games in the bracket
- `is_finished` (true/false): True once the final has been played
- `league` (text): What it is called
- `league_id` (text): The league read
- `playoffs_start_in_week` (number): The NFL week round one is played in
- `rounds` (list)
- `season` (text): Which season
- `who_is_in_it` (text): Which teams this bracket holds, in words
- `winner` (object): Who won the bracket, once the final has been played

**Example output**

```json
{
  "bracket": "Championship bracket",
  "bracket_code": "championship",
  "games": 1,
  "is_finished": false,
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "playoffs_start_in_week": 15,
  "rounds": [
    {
      "games": [
        {
          "game": 1,
          "has_been_played": true,
          "loser": {
            "manager": "tobrepeels",
            "roster_id": 5,
            "team": "tobrepeels"
          },
          "playing_for": null,
          "teams": [
            {
              "manager": "progamer",
              "roster_id": 1,
              "side": 1,
              "team": "Kamara is the new DJ",
              "waiting_on": null
            },
            {
              "manager": "tobrepeels",
              "roster_id": 5,
              "side": 2,
              "team": "tobrepeels",
              "waiting_on": null
            }
          ],
          "week": 15,
          "winner": {
            "manager": "progamer",
            "roster_id": 1,
            "team": "Kamara is the new DJ"
          }
        }
      ],
      "round": 1,
      "week": 15
    }
  ],
  "season": "2026",
  "who_is_in_it": "the teams that made the playoffs",
  "winner": null
}
```

### List a manager's leagues

List every league a Sleeper manager plays in for one season, each with its name, how many teams are in it, how it scores, whether it is a redraft, keeper or dynasty league, and the ID the other actions here work from. Leave the manager empty for the account this workspace connected with. The manager's own profile comes back alongside, so this also answers 'does this username exist' for somebody joining a league.

**Inputs**

- Manager (`manager`, text): Whose leagues to list, as a Sleeper username. Leave empty for the account this workspace connected with. A Sleeper user ID works here too, so a manager found by an earlier step can be passed straight in.
- Season (`season`, text): Which season's leagues to list. Leave it on 'This season' and every run reads the season Sleeper is currently running. One of: `current` (This season), `2027`, `2026`, `2025`, `2024`, `2023`, `2022`, `2021`, `2020`, `2019`, `2018`, `2017`. Default: `current`.

**Outputs**

- `count` (number): How many leagues came back
- `leagues` (list)
- `manager` (object): The Sleeper account whose leagues these are
- `season` (text): The season read

**Example output**

```json
{
  "count": 1,
  "leagues": [
    {
      "avatar": {
        "full": "https://sleepercdn.com/avatars/efaefa889ae24046a53265a3c71b8b64",
        "thumbnail": "https://sleepercdn.com/avatars/thumbs/efaefa889ae24046a53265a3c71b8b64"
      },
      "format": "Redraft",
      "is_best_ball": false,
      "is_superflex": false,
      "league_id": "289646328504385536",
      "link": "https://sleeper.com/leagues/289646328504385536",
      "name": "Sleeper Friends League",
      "scoring": "PPR (a point per catch)",
      "season": "2026",
      "status": "In season",
      "teams": 12
    }
  ],
  "manager": {
    "avatar": {
      "full": "https://sleepercdn.com/avatars/c99311341d58b4c50d6e0a6a6a0dfebf",
      "thumbnail": "https://sleepercdn.com/avatars/thumbs/c99311341d58b4c50d6e0a6a6a0dfebf"
    },
    "display_name": "progamer",
    "is_bot": false,
    "user_id": "189140835533586432",
    "username": "progamer"
  },
  "season": "2026"
}
```

### List teams and standings

The league table: every team in order, with its record, points for and against, how much of its waiver budget is left, and who runs it. Sleeper keeps a team's name with its manager and its record with its roster and never joins the two; this does, so each row is a whole team. It also works out how many points each manager left on their bench, which is the number a league chat is actually interested in.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.

**Outputs**

- `count` (number): How many teams
- `league` (text): What it is called
- `league_id` (text): The league read
- `season` (text): Which season
- `teams` (list)

**Example output**

```json
{
  "count": 1,
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "season": "2026",
  "teams": [
    {
      "is_commissioner": false,
      "losses": 0,
      "manager": "progamer",
      "manager_avatar": null,
      "moves_made": 3,
      "players_rostered": 15,
      "points_against": 219.6,
      "points_for": 271.42,
      "points_left_on_the_bench": 29.76,
      "points_possible": 301.18,
      "rank": 1,
      "record": "2-0",
      "roster_id": 1,
      "team": "Kamara is the new DJ",
      "ties": 0,
      "waiver_budget_left": 87,
      "waiver_priority": 4,
      "wins": 2
    }
  ]
}
```

### List trades and waiver moves

Every move made in a league in one week: trades, waiver claims, free agent pickups and commissioner moves, with the players and the teams named, what each claim was bid, and whether it went through or was beaten to it. Each move is also grouped by team, so a trade reads as what each side got and gave up rather than as two lists of IDs, which is the shape an announcement needs. Narrow to one kind of move to post only the trades.

**Inputs**

- League (`league_id`, text, required): Which league. The list holds the leagues your connected Sleeper account plays in this season and last. For any other league - an older season, or one you are not in - paste its ID, the long number in the league's web address.
- Week (`week`, text): Which week of the NFL season. Leave it on 'This week' and every run reads the week the NFL is actually in, so a weekly workflow never needs editing. One of: `current` (This week), `1` (Week 1), `2` (Week 2), `3` (Week 3), `4` (Week 4), `5` (Week 5), `6` (Week 6), `7` (Week 7), `8` (Week 8), `9` (Week 9), and 9 more. Default: `current`.
- Kinds of move (`kinds`, list): Which kinds of move to include. Leave empty for all of them. One or more of: `trade`, `waiver` (Waiver claim), `free_agent` (Free agent pickup), `commissioner` (Commissioner move).

**Outputs**

- `count` (number): How many moves came back
- `counts_by_kind` (object): How many of each kind, e.g. {'Trade': 1, 'Waiver claim': 12}
- `league` (text): What it is called
- `league_id` (text): The league read
- `transactions` (list)
- `week` (number): The week read

**Example output**

```json
{
  "count": 1,
  "counts_by_kind": {
    "Waiver claim": 1
  },
  "league": "Sleeper Friends League",
  "league_id": "289646328504385536",
  "transactions": [
    {
      "added": [
        {
          "manager": "progamer",
          "player": {
            "age": 31,
            "injury": null,
            "injury_detail": null,
            "is_available": true,
            "jersey_number": 41,
            "name": "Alvin Kamara",
            "nfl_team": "NO",
            "nfl_team_name": "New Orleans Saints",
            "player_id": "4035",
            "position": "RB",
            "position_name": "Running back",
            "status": "Active",
            "years_experience": 9
          },
          "roster_id": 1,
          "team": "Kamara is the new DJ"
        }
      ],
      "budget_moved": [],
      "created_at": "2026-09-16T06:57:40Z",
      "draft_picks_traded": [],
      "dropped": [],
      "kind": "Waiver claim",
      "kind_code": "waiver",
      "note": "Your waiver claim was processed successfully!",
      "settled_at": "2026-09-16T07:04:02Z",
      "sides": [
        {
          "budget_received": null,
          "gave_up": [],
          "manager": "progamer",
          "picks_received": [],
          "received": [
            {
              "age": 31,
              "injury": null,
              "injury_detail": null,
              "is_available": true,
              "jersey_number": 41,
              "name": "Alvin Kamara",
              "nfl_team": "NO",
              "nfl_team_name": "New Orleans Saints",
              "player_id": "4035",
              "position": "RB",
              "position_name": "Running back",
              "status": "Active",
              "years_experience": 9
            }
          ],
          "roster_id": 1,
          "team": "Kamara is the new DJ"
        }
      ],
      "status": "Went through",
      "teams_involved": [
        {
          "manager": "progamer",
          "roster_id": 1,
          "team": "Kamara is the new DJ"
        }
      ],
      "transaction_id": "365392984159719424",
      "waiver_bid": 13
    }
  ],
  "week": 2
}
```

### List trending players

The waiver wire across the whole of Sleeper: the players being picked up in the most leagues right now, or the ones being dropped, each with how many leagues moved them. This is the fastest read there is on who broke out on Sunday and who just lost their job, and it needs no league at all - it is every Sleeper league added together.

**Inputs**

- Which way (`direction`, text): Players being picked up are the waiver wire targets. Players being dropped are the ones managers have given up on. One of: `add` (Being picked up), `drop` (Being dropped). Default: `add`.
- Over the last (`window`, text): How far back to count. A short window catches a breakout the morning after; a week smooths it out. One of: `6` (Last 6 hours), `24` (Last 24 hours), `72` (Last 3 days), `168` (Last week). Default: `24`.
- How many players (`limit`, number): How many players to return. Sleeper serves at most 100. From 1 to 100. Default: `25`.

**Outputs**

- `count` (number): How many players came back
- `direction` (text): 'Being picked up' or 'Being dropped'
- `direction_code` (text): The value chosen
- `players` (list)
- `summary` (text): One line saying what this is
- `window` (text): The period counted, in words
- `window_hours` (number): The same period in hours

**Example output**

```json
{
  "count": 1,
  "direction": "Being picked up",
  "direction_code": "add",
  "players": [
    {
      "leagues": 411138,
      "player": {
        "age": 31,
        "injury": null,
        "injury_detail": null,
        "is_available": true,
        "jersey_number": 41,
        "name": "Alvin Kamara",
        "nfl_team": "NO",
        "nfl_team_name": "New Orleans Saints",
        "player_id": "4035",
        "position": "RB",
        "position_name": "Running back",
        "status": "Active",
        "years_experience": 9
      },
      "rank": 1
    }
  ],
  "summary": "1 players most added across Sleeper in the last 24 hours.",
  "window": "Last 24 hours",
  "window_hours": 24
}
```
