McKinley als Kongressabgeordneter und Gouverneur
McKinley wurde sofort von der Politik in der Republikanischen Partei angezogen und unterstützte Hayes 1867 als Gouverneur und 1868 Ulysses S. Grant als Präsident. Im folgenden Jahr wurde er zum Staatsanwalt für Stark County gewählt, und 1877 begann er seine lange Karriere im Kongress als Vertreter aus dem 17. Bezirk von Ohio. McKinley diente bis 1891 im Repräsentantenhaus und scheiterte nur zweimal an der Wiederwahl – 1882, als er bei einer äußerst engen Wahl vorübergehend vom Platz gestellt wurde, und 1890, als die Demokraten seinen Bezirk umrundeten.