{"sport":"mlb","slug":"bob-buhl","bio":{"fullName":"Bob Buhl","position":"P","team":"PHI","heightInches":74,"weightLbs":190,"birthDate":"1928-08-12","rookieSeason":1953,"lastSeason":1967,"status":"RET","externalIds":{"mlbam":"111675","chadwick":"f5b958c9","retro":"buhlb101","wikidata":"Q4931976"}},"draft":null,"statTables":[{"id":"batting","label":"Batting","columns":[{"key":"g"},{"key":"ab"},{"key":"r"},{"key":"h"},{"key":"doubles"},{"key":"triples"},{"key":"hr"},{"key":"rbi"},{"key":"sb"},{"key":"bb"},{"key":"so"},{"key":"avg"},{"key":"obp"},{"key":"slg"},{"key":"ops"}],"rows":[{"season":1953,"seasonType":"REG","team":"ATL","gamesPlayed":30,"values":{"g":30,"ab":53,"r":3,"h":6,"doubles":0,"triples":0,"hr":0,"rbi":2,"sb":0,"bb":2,"so":18,"avg":0.113,"obp":0.145,"slg":0.113,"ops":0.258},"rowScope":"team"},{"season":1954,"seasonType":"REG","team":"ATL","gamesPlayed":31,"values":{"g":31,"ab":31,"r":0,"h":1,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":2,"so":12,"avg":0.032,"obp":0.091,"slg":0.032,"ops":0.123},"rowScope":"team"},{"season":1955,"seasonType":"REG","team":"ATL","gamesPlayed":38,"values":{"g":38,"ab":57,"r":2,"h":6,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":3,"so":24,"avg":0.105,"obp":0.15,"slg":0.105,"ops":0.255},"rowScope":"team"},{"season":1956,"seasonType":"REG","team":"ATL","gamesPlayed":38,"values":{"g":38,"ab":73,"r":1,"h":7,"doubles":2,"triples":0,"hr":0,"rbi":3,"sb":0,"bb":1,"so":34,"avg":0.096,"obp":0.108,"slg":0.123,"ops":0.231},"rowScope":"team"},{"season":1957,"seasonType":"REG","team":"ATL","gamesPlayed":34,"values":{"g":34,"ab":73,"r":4,"h":6,"doubles":0,"triples":0,"hr":0,"rbi":4,"sb":0,"bb":6,"so":34,"avg":0.082,"obp":0.152,"slg":0.082,"ops":0.234},"rowScope":"team"},{"season":1957,"seasonType":"POST","team":"ATL","gamesPlayed":2,"values":{"g":2,"ab":1,"r":0,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":1,"avg":0,"obp":null,"slg":0,"ops":null},"rowScope":"team"},{"season":1958,"seasonType":"REG","team":"ATL","gamesPlayed":11,"values":{"g":11,"ab":25,"r":3,"h":5,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":6,"avg":0.2,"obp":0.2,"slg":0.2,"ops":0.4},"rowScope":"team"},{"season":1959,"seasonType":"REG","team":"ATL","gamesPlayed":31,"values":{"g":31,"ab":70,"r":2,"h":4,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":0,"bb":2,"so":38,"avg":0.057,"obp":0.083,"slg":0.057,"ops":0.14},"rowScope":"team"},{"season":1960,"seasonType":"REG","team":"ATL","gamesPlayed":36,"values":{"g":36,"ab":89,"r":4,"h":14,"doubles":0,"triples":0,"hr":0,"rbi":4,"sb":0,"bb":0,"so":40,"avg":0.157,"obp":0.157,"slg":0.157,"ops":0.314},"rowScope":"team"},{"season":1961,"seasonType":"REG","team":"ATL","gamesPlayed":32,"values":{"g":32,"ab":60,"r":2,"h":4,"doubles":0,"triples":0,"hr":0,"rbi":2,"sb":0,"bb":5,"so":30,"avg":0.067,"obp":0.138,"slg":0.067,"ops":0.205},"rowScope":"team"},{"season":1962,"seasonType":"REG","gamesPlayed":35,"gamesStarted":null,"values":{"g":35,"ab":70,"r":2,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":1,"bb":6,"so":36,"avg":0,"slg":0,"obp":null,"ops":null},"team":"TOT","rowScope":"total"},{"season":1962,"seasonType":"REG","team":"ATL","gamesPlayed":1,"values":{"g":1,"ab":1,"r":0,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":1,"avg":0,"obp":0,"slg":0,"ops":0},"rowScope":"team"},{"season":1962,"seasonType":"REG","team":"CHC","gamesPlayed":34,"values":{"g":34,"ab":69,"r":2,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":1,"bb":6,"so":35,"avg":0,"obp":0.091,"slg":0,"ops":0.091},"rowScope":"team"},{"season":1963,"seasonType":"REG","team":"CHC","gamesPlayed":37,"values":{"g":37,"ab":74,"r":2,"h":8,"doubles":0,"triples":0,"hr":0,"rbi":5,"sb":1,"bb":0,"so":28,"avg":0.108,"obp":0.108,"slg":0.108,"ops":0.216},"rowScope":"team"},{"season":1964,"seasonType":"REG","team":"CHC","gamesPlayed":36,"values":{"g":36,"ab":73,"r":3,"h":7,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":0,"bb":6,"so":31,"avg":0.096,"obp":0.163,"slg":0.096,"ops":0.259},"rowScope":"team"},{"season":1965,"seasonType":"REG","team":"CHC","gamesPlayed":32,"values":{"g":32,"ab":67,"r":3,"h":4,"doubles":0,"triples":0,"hr":0,"rbi":2,"sb":0,"bb":3,"so":36,"avg":0.06,"obp":0.1,"slg":0.06,"ops":0.16},"rowScope":"team"},{"season":1966,"seasonType":"REG","gamesPlayed":33,"gamesStarted":null,"values":{"g":33,"ab":42,"r":0,"h":4,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":0,"bb":2,"so":22,"avg":0.095,"slg":0.095,"obp":null,"ops":null},"team":"TOT","rowScope":"total"},{"season":1966,"seasonType":"REG","team":"CHC","gamesPlayed":1,"values":{"g":1,"ab":1,"r":0,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":0,"avg":0,"obp":0,"slg":0,"ops":0},"rowScope":"team"},{"season":1966,"seasonType":"REG","team":"PHI","gamesPlayed":32,"values":{"g":32,"ab":41,"r":0,"h":4,"doubles":0,"triples":0,"hr":0,"rbi":1,"sb":0,"bb":2,"so":22,"avg":0.098,"obp":0.159,"slg":0.098,"ops":0.257},"rowScope":"team"},{"season":1967,"seasonType":"REG","team":"PHI","gamesPlayed":3,"values":{"g":3,"ab":0,"r":0,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":0,"avg":0,"obp":0,"slg":0,"ops":0},"rowScope":"team"}],"careerTotals":{"REG":{"g":457,"ab":857,"r":31,"h":76,"doubles":2,"triples":0,"hr":0,"rbi":26,"sb":2,"bb":38,"so":389,"avg":0.089,"obp":0.129,"slg":0.091,"ops":0.22},"POST":{"g":2,"ab":1,"r":0,"h":0,"doubles":0,"triples":0,"hr":0,"rbi":0,"sb":0,"bb":0,"so":1,"avg":0,"obp":null,"slg":0,"ops":null}}},{"id":"pitching","label":"Pitching","columns":[{"key":"g"},{"key":"gs"},{"key":"w"},{"key":"l"},{"key":"sv"},{"key":"ip"},{"key":"so"},{"key":"bb"},{"key":"h"},{"key":"er"},{"key":"hr"},{"key":"era"},{"key":"whip"}],"rows":[{"season":1953,"seasonType":"REG","team":"ATL","gamesPlayed":30,"values":{"g":30,"gs":18,"w":13,"l":8,"sv":0,"ip":154.1,"so":83,"bb":73,"h":133,"er":51,"hr":9,"era":2.97,"whip":1.33},"rowScope":"team"},{"season":1954,"seasonType":"REG","team":"ATL","gamesPlayed":31,"values":{"g":31,"gs":14,"w":2,"l":7,"sv":3,"ip":110.1,"so":57,"bb":65,"h":117,"er":49,"hr":5,"era":4,"whip":1.65},"rowScope":"team"},{"season":1955,"seasonType":"REG","team":"ATL","gamesPlayed":38,"values":{"g":38,"gs":27,"w":13,"l":11,"sv":1,"ip":201.2,"so":117,"bb":109,"h":168,"er":72,"hr":13,"era":3.21,"whip":1.37},"rowScope":"team"},{"season":1956,"seasonType":"REG","team":"ATL","gamesPlayed":38,"values":{"g":38,"gs":33,"w":18,"l":8,"sv":0,"ip":216.2,"so":86,"bb":105,"h":190,"er":80,"hr":18,"era":3.32,"whip":1.36},"rowScope":"team"},{"season":1957,"seasonType":"REG","team":"ATL","gamesPlayed":34,"values":{"g":34,"gs":31,"w":18,"l":7,"sv":0,"ip":216.2,"so":117,"bb":121,"h":191,"er":66,"hr":15,"era":2.74,"whip":1.44},"rowScope":"team"},{"season":1957,"seasonType":"POST","team":"ATL","gamesPlayed":2,"values":{"g":2,"gs":2,"w":0,"l":1,"sv":0,"ip":3.1,"so":4,"bb":6,"h":6,"er":4,"hr":2,"era":10.8,"whip":3.6},"rowScope":"team"},{"season":1958,"seasonType":"REG","team":"ATL","gamesPlayed":11,"values":{"g":11,"gs":10,"w":5,"l":2,"sv":1,"ip":73,"so":27,"bb":30,"h":74,"er":28,"hr":5,"era":3.45,"whip":1.42},"rowScope":"team"},{"season":1959,"seasonType":"REG","team":"ATL","gamesPlayed":31,"values":{"g":31,"gs":25,"w":15,"l":9,"sv":0,"ip":198,"so":105,"bb":74,"h":181,"er":63,"hr":19,"era":2.86,"whip":1.29},"rowScope":"team"},{"season":1960,"seasonType":"REG","team":"ATL","gamesPlayed":36,"values":{"g":36,"gs":33,"w":16,"l":9,"sv":0,"ip":238.2,"so":121,"bb":103,"h":202,"er":82,"hr":23,"era":3.09,"whip":1.28},"rowScope":"team"},{"season":1961,"seasonType":"REG","team":"ATL","gamesPlayed":32,"values":{"g":32,"gs":28,"w":9,"l":10,"sv":0,"ip":188.1,"so":77,"bb":98,"h":180,"er":86,"hr":23,"era":4.11,"whip":1.48},"rowScope":"team"},{"season":1962,"seasonType":"REG","gamesPlayed":35,"gamesStarted":null,"values":{"g":35,"gs":31,"w":12,"l":14,"sv":0,"so":110,"bb":98,"h":210,"er":92,"hr":23,"ip":214,"era":3.87,"whip":1.44},"team":"TOT","rowScope":"total"},{"season":1962,"seasonType":"REG","team":"ATL","gamesPlayed":1,"values":{"g":1,"gs":1,"w":0,"l":1,"sv":0,"ip":2,"so":1,"bb":4,"h":6,"er":5,"hr":0,"era":22.5,"whip":5},"rowScope":"team"},{"season":1962,"seasonType":"REG","team":"CHC","gamesPlayed":34,"values":{"g":34,"gs":30,"w":12,"l":13,"sv":0,"ip":212,"so":109,"bb":94,"h":204,"er":87,"hr":23,"era":3.69,"whip":1.41},"rowScope":"team"},{"season":1963,"seasonType":"REG","team":"CHC","gamesPlayed":37,"values":{"g":37,"gs":34,"w":11,"l":14,"sv":0,"ip":226,"so":108,"bb":62,"h":219,"er":85,"hr":24,"era":3.38,"whip":1.24},"rowScope":"team"},{"season":1964,"seasonType":"REG","team":"CHC","gamesPlayed":36,"values":{"g":36,"gs":35,"w":15,"l":14,"sv":0,"ip":227.2,"so":107,"bb":68,"h":208,"er":97,"hr":22,"era":3.83,"whip":1.21},"rowScope":"team"},{"season":1965,"seasonType":"REG","team":"CHC","gamesPlayed":32,"values":{"g":32,"gs":31,"w":13,"l":11,"sv":0,"ip":184.1,"so":92,"bb":57,"h":207,"er":90,"hr":26,"era":4.39,"whip":1.43},"rowScope":"team"},{"season":1966,"seasonType":"REG","gamesPlayed":33,"gamesStarted":null,"values":{"g":33,"gs":19,"w":6,"l":8,"sv":1,"so":60,"bb":40,"h":160,"er":74,"hr":11,"ip":134.1,"era":4.96,"whip":1.49},"team":"TOT","rowScope":"total"},{"season":1966,"seasonType":"REG","team":"CHC","gamesPlayed":1,"values":{"g":1,"gs":1,"w":0,"l":0,"sv":0,"ip":2.1,"so":1,"bb":1,"h":4,"er":4,"hr":1,"era":15.43,"whip":2.14},"rowScope":"team"},{"season":1966,"seasonType":"REG","team":"PHI","gamesPlayed":32,"values":{"g":32,"gs":18,"w":6,"l":8,"sv":1,"ip":132,"so":59,"bb":39,"h":156,"er":70,"hr":10,"era":4.77,"whip":1.48},"rowScope":"team"},{"season":1967,"seasonType":"REG","team":"PHI","gamesPlayed":3,"values":{"g":3,"gs":0,"w":0,"l":0,"sv":0,"ip":3,"so":1,"bb":2,"h":6,"er":4,"hr":2,"era":12,"whip":2.67},"rowScope":"team"}],"careerTotals":{"REG":{"g":457,"gs":369,"w":166,"l":132,"sv":6,"ip":2587,"so":1268,"bb":1105,"h":2446,"er":1019,"hr":238,"era":3.55,"whip":1.37},"POST":{"g":2,"gs":2,"w":0,"l":1,"sv":0,"ip":3.1,"so":4,"bb":6,"h":6,"er":4,"hr":2,"era":10.8,"whip":3.6}}},{"id":"advanced","label":"Advanced (League-Relative)","columns":[{"key":"ops_plus","label":"OPS+","description":"On-base plus slugging vs the player's own season+league (100 = league average). Park-unadjusted; OBP uses a consistent (H+BB)/(AB+BB) rate. Higher is better.","format":"int","higherIsBetter":true},{"key":"era_plus","label":"ERA+","description":"Earned-run average vs the player's own season+league (100 = league average). Park-unadjusted. Higher is better.","format":"int","higherIsBetter":true}],"rows":[{"season":1953,"seasonType":"REG","team":"ATL","values":{"ops_plus":-26,"era_plus":141},"rowScope":"team"},{"season":1954,"seasonType":"REG","team":"ATL","values":{"ops_plus":-62,"era_plus":104},"rowScope":"team"},{"season":1955,"seasonType":"REG","team":"ATL","values":{"ops_plus":-28,"era_plus":143},"rowScope":"team"},{"season":1956,"seasonType":"REG","team":"ATL","values":{"ops_plus":-35,"era_plus":120},"rowScope":"team"},{"season":1957,"seasonType":"REG","team":"ATL","values":{"ops_plus":-31,"era_plus":140},"rowScope":"team"},{"season":1958,"seasonType":"REG","team":"ATL","values":{"ops_plus":14,"era_plus":107},"rowScope":"team"},{"season":1959,"seasonType":"REG","team":"ATL","values":{"ops_plus":-60,"era_plus":137},"rowScope":"team"},{"season":1960,"seasonType":"REG","team":"ATL","values":{"ops_plus":-11,"era_plus":132},"rowScope":"team"},{"season":1961,"seasonType":"REG","team":"ATL","values":{"ops_plus":-40,"era_plus":105},"rowScope":"team"},{"season":1962,"seasonType":"REG","gamesPlayed":null,"gamesStarted":null,"values":{"ops_plus":null,"era_plus":null},"team":"TOT","rowScope":"total"},{"season":1962,"seasonType":"REG","team":"ATL","values":{"ops_plus":-100,"era_plus":19},"rowScope":"team"},{"season":1962,"seasonType":"REG","team":"CHC","values":{"ops_plus":-76,"era_plus":108},"rowScope":"team"},{"season":1963,"seasonType":"REG","team":"CHC","values":{"ops_plus":-35,"era_plus":97},"rowScope":"team"},{"season":1964,"seasonType":"REG","team":"CHC","values":{"ops_plus":-21,"era_plus":91},"rowScope":"team"},{"season":1965,"seasonType":"REG","team":"CHC","values":{"ops_plus":-52,"era_plus":80},"rowScope":"team"},{"season":1966,"seasonType":"REG","gamesPlayed":null,"gamesStarted":null,"values":{"ops_plus":null,"era_plus":null},"team":"TOT","rowScope":"total"},{"season":1966,"seasonType":"REG","team":"CHC","values":{"ops_plus":-100,"era_plus":23},"rowScope":"team"},{"season":1966,"seasonType":"REG","team":"PHI","values":{"ops_plus":-29,"era_plus":75},"rowScope":"team"},{"season":1967,"seasonType":"REG","team":"PHI","values":{"ops_plus":null,"era_plus":27},"rowScope":"team"}],"careerTotals":{"REG":{"ops_plus":-36,"era_plus":109}},"advancedMeta":{"method":"computed in-house from MLB StatsAPI season batting/pitching lines, normalized to each player's own (season, league) baseline","formulas":{"era_plus":"100 * lgERA / playerERA (league ERA = 9 * ΣER / ΣIP over the season+league)","ops_plus":"100 * (OBP/lgOBP + SLG/lgSLG - 1)","career_era_plus":"innings-weighted league ERA / career ERA (B-Ref method)","career_ops_plus":"AB-weighted OBP & SLG against AB-weighted league rates"},"caveats":["PARK-UNADJUSTED: no park-factor data exists in the corpus, so these are league-relative but not park-adjusted (true B-Ref ERA+/OPS+ also divide by a park factor)","OBP baseline uses a consistent (H+BB)/(AB+BB) reached-base rate for BOTH player and league — the source feed carries no HBP or SF, so this is not the full (H+BB+HBP)/(AB+BB+HBP+SF) OBP; SLG is exact from the hit-type columns","league resolved from team code + season (most-recently-founded franchise existing by that season); the same resolver builds the baseline and looks up the player, so ratios stay internally coherent","a (season, league) bucket below the sample floor (3000 AB batting / 1000 IP pitching) yields null — no noisy baselines","regular season only; postseason lines are excluded from league baselines and metrics","AL and NL and each historical/Negro league are normalized separately — never blended across leagues or eras"]}}],"dataSources":["MLB StatsAPI (statsapi.mlb.com — official public league API; facts only, raw payloads not republished)"],"generatedAt":"2026-07-03T03:10:36.276Z"}