John Keough
Buffalo Bulls · #7 · Safety · Junior
2025 season
TOT
14
tied 1877th of 4696
SACK
0
tied 1301st of 4696
PD
0
tied 1662nd of 4696
Overview
Defense
| Season | Team | TOT | SOLO | AST | PD | SACK | FF | INT | YDS | TD |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | BUFF | 6 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025 | BUFF | 14 | 9 | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026 | BUFF | 30 | 18 | 12 | 0 | 0 | 0 | 0 | 0 | 0 |
| Career | 50 | 30 | 20 | 0 | 0 | 0 | 0 | 0 | 0 |
Ranks are over the players on a 2026 FBS roster who have been read, counting only those who recorded that statistic in 2025 — how many that is. Rate statistics are shown without a rank, because ranking them without a qualifying minimum would put one long run above a whole season of them.
Stats
Defense
| Season | Team | TOT | SOLO | AST | PD | SACK | FF | INT | YDS | TD |
|---|---|---|---|---|---|---|---|---|---|---|
| 2024 | BUFF | 6 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025 | BUFF | 14 | 9 | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2026 | BUFF | 30 | 18 | 12 | 0 | 0 | 0 | 0 | 0 | 0 |
| Career | 50 | 30 | 20 | 0 | 0 | 0 | 0 | 0 | 0 |
Returning
Season rows count every game played, including bowl and playoff games. The national leaders table ranks the regular season only, so a figure there can be the smaller of the two.
Glossary
- AST
- Assist Tackles
- ATT
- Punt Returns; Kick Returns
- AVG
- Average Interception Yards
- FC
- Punt Return Fair Catches
- FF
- Fumbles Forced
- FR
- Fumbles Recovered
- INT
- Interceptions
- KB
- Kicks Blocked
- LNG
- Long Punt Return; Long Kick Return; Long Interception
- PD
- Passes Defended
- SACK
- Sacks
- SOLO
- Solo Tackles
- TD
- Interception Touchdowns; Punt Return Touchdowns; Kick Return Touchdowns
- TOT
- Total Tackles
- YDS
- Interception Yards; Punt Return Yards; Kick Return Yards
Bio
| Team | Buffalo Bulls |
|---|---|
| Position | Safety |
| Class | Junior |
| Height / weight | 6' 0" / 202 lbs |
| Birthplace | Macedonia, OH |
| Jersey | #7 |
| Status | Active |
Career history
- Buffalo Bulls 2024–2026 · 3 seasons
Splits
Season, home and away
| Split | TOT | SOLO | AST | SACK | FF | FR | KB | INT | YDS | AVG | TD | LNG | PD |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | 30 | 18 | 12 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| Home | 8 | 5 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| Away | 22 | 13 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
Season
| Split | TOT | SOLO | AST | SACK | FF | FR | KB | INT | YDS | AVG | TD | LNG | PD |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | 14 | 9 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
Season
| Split | TOT | SOLO | AST | SACK | FF | FR | KB | INT | YDS | AVG | TD | LNG | PD |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | 6 | 3 | 3 | 0 | 0 | 1 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
Game log
| Date | Opp | Result | TOT | SOLO | AST | SACK | FF | FR | INT | YDS | AVG | TD | LNG | PD |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 9/3 | vs ALB | W 21-17 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 9/12 | @ FIU | L 33-20 | 8 | 4 | 4 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 9/19 | @ PSU | L 55-13 | 11 | 6 | 5 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 9/26 | vs RMU | W 31-28 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 10/3 | vs WMU | L 20-17 | 2 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 10/10 | @ TOL | W 23-8 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 2 |
| 2026 total | 30 | 18 | 12 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
The season total counts every game. A game appears above only when the source recorded something for him in it, so the rows can be fewer.
| Date | Opp | Result | TOT | SOLO | AST | SACK | FF | FR | INT | YDS | AVG | TD | LNG | PD |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 9/13 | @ KENT | W 31-28 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 9/20 | vs TROY | L 21-17 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 9/27 | vs CONN | L 20-17 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 10/4 | vs EMU | W 31-30 OT | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 10/18 | @ MASS | W 28-21 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 10/25 | vs AKR | L 24-16 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 11/1 | @ BGSU | W 28-3 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 11/12 | @ CMU | L 38-19 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 11/19 | vs M-OH | L 37-20 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| 11/28 | vs OHIO | L 31-26 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |
| Total | 14 | 9 | 5 | 0 | 0 | 0 | 0 | 0 | 0.0 | 0 | 0 | 0 |