{"sport":"nfl","slug":"keith-fahnhorst","bio":{"fullName":"Keith Fahnhorst","position":"OT","positionGroup":"OL","team":"SF","jerseyNumber":0,"heightInches":78,"weightLbs":273,"birthDate":"1952-02-06","college":"Minnesota","collegeConference":null,"headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/tjpnvgomx04j6yscyeyv","rookieSeason":1974,"lastSeason":1987,"yearsExperience":14,"status":"ACT","externalIds":{"gsis":"FAH622935","pfr":"FahnKe00"}},"draft":{"year":1974,"round":2,"pick":35,"team":"SF","undrafted":false},"combine":null,"accolades":null,"statTables":[{"id":"receiving","label":"Receiving","columns":[{"key":"targets"},{"key":"receptions"},{"key":"receiving_yards"},{"key":"receiving_tds"},{"key":"yards_per_reception"},{"key":"catch_pct"},{"key":"receiving_first_downs"}],"rows":[{"season":1975,"seasonType":"REG","team":"SF","values":{"targets":null,"receptions":1,"receiving_yards":1,"receiving_tds":0,"yards_per_reception":1,"catch_pct":null,"receiving_first_downs":null},"rowScope":"team"}],"careerTotals":{"REG":{"targets":0,"receptions":1,"receiving_yards":1,"receiving_tds":0,"yards_per_reception":1,"catch_pct":null,"receiving_first_downs":null}}},{"id":"defense","label":"Defense","columns":[{"key":"tackles_combined"},{"key":"tackles_solo"},{"key":"sacks_def"},{"key":"def_int"},{"key":"passes_defended"},{"key":"forced_fumbles"},{"key":"fumble_recoveries"}],"rows":[{"season":1982,"seasonType":"REG","team":"SF","values":{"tackles_combined":1,"tackles_solo":1,"sacks_def":0,"def_int":null,"passes_defended":0,"forced_fumbles":0,"fumble_recoveries":null},"rowScope":"team"},{"season":1984,"seasonType":"REG","team":"SF","values":{"tackles_combined":2,"tackles_solo":2,"sacks_def":0,"def_int":null,"passes_defended":0,"forced_fumbles":0,"fumble_recoveries":null},"rowScope":"team"},{"season":1985,"seasonType":"REG","team":"SF","values":{"tackles_combined":1,"tackles_solo":1,"sacks_def":0,"def_int":null,"passes_defended":0,"forced_fumbles":0,"fumble_recoveries":null},"rowScope":"team"},{"season":1986,"seasonType":"REG","team":"SF","values":{"tackles_combined":1,"tackles_solo":1,"sacks_def":0,"def_int":null,"passes_defended":0,"forced_fumbles":0,"fumble_recoveries":null},"rowScope":"team"}],"careerTotals":{"REG":{"tackles_combined":5,"tackles_solo":5,"sacks_def":0,"def_int":0,"passes_defended":0,"forced_fumbles":0,"fumble_recoveries":0}}}],"similarPlayers":[{"slug":"rickey-bolden","name":"Rickey Bolden","sport":"nfl","similarity":99,"position":"OT","team":"CLE","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/jgna8etnq34e2lkkqjma","basis":"Offensive line comp"},{"slug":"anthony-munoz","name":"Anthony Munoz","sport":"nfl","similarity":98,"position":"OT","team":"CIN","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/gxq4pfj2dmx0xp66te4j","basis":"Offensive line comp"},{"slug":"mark-bortz","name":"Mark Bortz","sport":"nfl","similarity":95,"position":"G","team":"CHI","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/fmuizhkksinhpngmcvhj","basis":"Offensive line comp"},{"slug":"ron-essink","name":"Ron Essink","sport":"nfl","similarity":94,"position":"OT","team":"SEA","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/x9sxqludqdhovemnhipd","basis":"Offensive line comp"},{"slug":"karl-swanke","name":"Karl Swanke","sport":"nfl","similarity":92,"position":"C","team":"GB","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/pyqdqgwtrwkfe5ndzk6w","basis":"Offensive line comp"},{"slug":"pete-kendall","name":"Pete Kendall","sport":"nfl","similarity":92,"position":"G","team":"WAS","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/ktm1r6dsrjmjviysteyc","basis":"Offensive line comp"},{"slug":"brian-holloway","name":"Brian Holloway","sport":"nfl","similarity":90,"position":"OT","team":"OAK","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/rem22j2mpkokelbe94ua","basis":"Offensive line comp"},{"slug":"mark-dennis","name":"Mark Dennis","sport":"nfl","similarity":89,"position":"OT","team":"CAR","headshotUrl":"https://static.www.nfl.com/image/private/f_auto,q_auto/league/hbnobyygrebqyglisol6","basis":"Offensive line comp"}],"dataSources":["nflverse:players","wikipedia:season-stats (CC-BY-SA, facts-only)","nfl.com:official-stats (facts-only reference)"],"generatedAt":"2026-08-31T10:23:32.140Z","rosterTimeline":{"source":"nflverse-rosters","note":"Season-by-season team & position from nflverse rosters (CC-BY). Counting stats for this era are not available from a free, openly-licensed source.","seasons":[{"season":1974,"team":"SF","position":"OL","jersey":0},{"season":1975,"team":"SF","position":"OL","jersey":0},{"season":1976,"team":"SF","position":"OL","jersey":0},{"season":1977,"team":"SF","position":"OL","jersey":0},{"season":1978,"team":"SF","position":"OL","jersey":0},{"season":1979,"team":"SF","position":"OL","jersey":0},{"season":1980,"team":"SF","position":"OL","jersey":0},{"season":1981,"team":"SF","position":"OL","jersey":0},{"season":1982,"team":"SF","position":"OL","jersey":0},{"season":1983,"team":"SF","position":"OL","jersey":0},{"season":1984,"team":"SF","position":"OL","jersey":0},{"season":1985,"team":"SF","position":"OL","jersey":0},{"season":1986,"team":"SF","position":"OL","jersey":0},{"season":1987,"team":"SF","position":"OL","jersey":0}]},"ids":{},"careerOnly":false}