InteractiveBroker(IB) is by far the best and cheapest broker for retail investors.

Min. is $1 and 0.005 per share => $5 per 1000 share.

Unless you always buy stock with low price, then IB can save you a lot of money.

Furthermore its platform is by far the best and most customizable.

It also got an api which is very good at loading the top gainers to excel real time, and you can also set up automatic trading with it.