Josh Sheehan is a 31-year-old Wales midfielder who plays for Bolton Wanderers. His current deal runs until June 2028.
J. Sheehan
J. Sheehan, by the numbers
A career in numbers, ready for the group chat.
Transfer history
| Date | From | To | Type | Fee |
|---|---|---|---|---|
| 2021-07-01 | Newport County | Bolton Wanderers | Free Transfer | undisclosed |
| 2018-01-06 | Swansea City U21 | Newport County | Free Transfer | undisclosed |
| 2017-03-09 | Newport County | Swansea City U21 | End of loan | undisclosed |
| 2016-08-08 | Swansea City U21 | Newport County | Loan | undisclosed |
| 2016-01-24 | Yeovil Town | Swansea City U21 | End of loan | undisclosed |
| 2015-09-26 | Swansea City U21 | Yeovil Town | Loan | undisclosed |
| 2015-05-31 | Yeovil Town | Swansea City U21 | End of loan | undisclosed |
| 2015-02-17 | Swansea City U21 | Yeovil Town | Loan | undisclosed |
| 2013-07-01 | Swansea U18 | Swansea City U21 | Transfer | undisclosed |
Compiled from every English club's Sportmonks transfer feed. Disclosed fees only — many transfers go unreported.
Physical & squad role
Season by season
| Season | Club | Apps | Goals | Assists | xG | Minutes | Cards |
|---|---|---|---|---|---|---|---|
| 2025/2026 | Bolton Wanderers | 4 | 2.6 +0.4 | 3,293 | 10 | ||
| 2026 | — | 0 | 0.1 -0.1 | 380 | 1 | ||
| 2024/2025 | Bolton Wanderers | 5 | 2.1 +0.9 | 2,800 | 9 | ||
| 2023/2024 | Bolton Wanderers | 13 | 1.4 +0.7 | 3,987 | 10 | ||
| 2022/2023 | Bolton Wanderers | 2 | n/a | 1,705 | 4 | ||
| 2021/2022 | Bolton Wanderers | 1 | n/a | 1,411 | 3 | ||
| 2020/2021 | Newport County | 4 | n/a | 4,810 | 6 1 | ||
| 2019/2020 | Newport County | 3 | n/a | 3,696 | 8 | ||
| 2018/2019 | Newport County | 1 | n/a | 2,786 | 8 | ||
| 2017/2018 | Newport County | 0 | n/a | 710 | — | ||
| 2016/2017 | Newport County | 2 | n/a | 1,055 | 4 | ||
| 2015/2016 | Yeovil Town | 0 | n/a | 180 | — | ||
| 2014/2015 | Swansea City | 0 | n/a | 90 | — | ||
| 2014/2015 | Yeovil Town | 0 | n/a | 733 | 3 |
Source: Sportmonks player statistics, including expected goals (xG) per season for covered competitions. Refreshed every 12 hours.