Etter at borgerkrigen var over i 1865, gikk McKinley i lære ved en advokatforretning i Poland i Ohio. Han studerte ved Albany Law School i New York i mindre enn ett år før han fikk advokatbevilling i 1867. Samme år åpnet han sin egen advokatforretning i Canton, administrasjonssentrum i Stark County. Forretningen var vellykket nok til at McKinley kunne kjøpe noen hus, som gav ham litt leieinntekter i tiårene som fulgte. Da vennen fra militæret, Rutherford B. Hayes, ble nominert til guvernør i 1867, holdt McKinley taler til støtte for ham i Stark County, hvor det var jevnt mellom demokrater og republikanere. Hayes vant både her og i delstaten som helhet. I 1869 ble McKinley uventet valgt til offentlig anklager i Stark County, men tapte gjenvalg med et hundretalls stemmer to år senere.