My Fantasy HOF

Guides · 5 min read

How to see your ESPN fantasy football league history

ESPN keeps your past seasons, but access got harder in 2025. Where League History lives, how far back it goes, what changed for outside tools, and what to save before you lose it.

ESPN has an uneasy relationship with league history. It removed the feature outright in 2019, restored it after a loud backlash, and in 2025 quietly made the data much harder for anything outside ESPN to read. All of it is still there — it is just guarded.

Where it lives

  1. Open fantasy.espn.com and sign in.
  2. Open your league.
  3. Find the League History tab in the league navigation.
  4. Pick a season to see its standings, scores and results.

You can also reach old teams from the My Teams dropdown at the top of the fantasy app, which lists teams you have had in past seasons.

Finding your ESPN league ID

Unlike Sleeper, ESPN puts the league ID in plain sight as a query parameter:

https://fantasy.espn.com/football/league?leagueId=42654852
                                              └──────┘
                                            your league ID

ESPN league IDs are short — usually seven or eight digits — and unlike Sleeper, the ID stays the same year after year. The season is a separate parameter. That is genuinely easier to live with.

You must have been in the league

ESPN scopes historical data to people who were actually in the league that season. Joining a league in 2026 does not grant you a view of its 2021 season. If your league changed hands, whoever holds the oldest membership is the one who can still see the oldest years.

What changed in 2025, and why outside tools ask for cookies

In August 2025 ESPN restricted API access to historical league data. Before that, a tool could read a private league's past with relatively little friction. Now it needs to present the same credentials your browser holds — two cookies named espn_s2 and SWID.

That is why every third-party ESPN tool asks you to paste cookie values out of your browser's developer tools. It is not a shortcut anyone chose; it is the only route ESPN left open.

One useful exception: a league set to public still reads without any credentials at all, for seasons from 2019 onward. So plenty of leagues need nothing pasted anywhere. Seasons from 2018 and earlier are refused either way unless you supply cookies, and 2017 is not on that API at all.

Those two cookies are session credentials for your ESPN account. Treat them like a password: only paste them into something you actually trust, and sign out of ESPN to invalidate them if you ever change your mind.

What an outside tool can and cannot rebuild

Worth being concrete, because the gaps are the API's and not the tool's. From a public league — or a private one with those two cookies — everything that makes an all-time record book is reachable: final standings and finishes, every team's record, weekly scores, head-to-head, all-play and luck, lineup efficiency, and the starting lineup of every championship game.

Two things are not. ESPN does not expose past draft results, and it does not expose a league's trade and waiver history, to anything outside ESPN. So draft boards and trade counts are missing rather than zero — the league did not stop drafting or trading, the data simply is not handed over.

Any ESPN league we import says this on the page, in the place those sections would have been, rather than showing an empty table you would reasonably read as "nothing happened". It is a limit of ESPN's API that we are actively working to get around, and the list is expected to shrink.

What to save before you need it

ESPN has removed this feature once already. Whatever your plans, it costs ten minutes to make the history independent of ESPN's product decisions:

  • Final standings for every season — the full finishing order, not just the champion.
  • Champion, runner-up and third place for each year.
  • Points for and against per team per season, if the page shows them.
  • Screenshots of anything that would start an argument if it disappeared.

A finishing order per season is the minimum worth having. With it, titles, podiums, last places and average finish all still work, whatever happens to the platform.

Common questions

Did ESPN delete fantasy league history?

It removed the feature in 2019 and restored it after user backlash. The data was not deleted, and past seasons remain visible to people who were in the league.

How far back does ESPN league history go?

As far back as your league has existed on ESPN, provided you were a member in those seasons. ESPN scopes historical access to actual participants.

Why do ESPN tools ask for espn_s2 and SWID?

ESPN restricted historical API access in August 2025. Those two browser cookies are now the only way for an outside tool to read a private league's past on your behalf.

Does my ESPN league ID change each season?

No. Unlike Sleeper, ESPN keeps one league ID across seasons and passes the year as a separate parameter.

What cannot be imported from an ESPN league?

Draft history and trade, waiver and FAAB history. ESPN's API does not expose either to tools outside ESPN, so those sections read as unavailable rather than empty. Standings, weekly scores, head-to-head, all-play, lineup efficiency and championship lineups all import in full. We are working on closing the two gaps.

Turn that history into a record book

We import ESPN leagues: every season from 2019 on, in full — all-time standings, head-to-head, all-play, lineup efficiency and the lineup that won each title. One league ID covers every year. A private league needs the two cookies described above, and they are used for the import and never stored.

Import an ESPN league