The obvious choice is interactive brokers.
Decent API connection, 70 cents per contract (1$ minimum) a little less if you trade larger lots and enough of them
OptionsXPress is another choice (web service api i think), not sure about their commission structure.