Make sure you go with brand name like Fluval, Sicce, OASE, etc. While searching for my canister filter I learned that here a many cheaper knockoffs out there with nice features, basket set ups but are not URL certified. Fires from electrical issues are not covered by many insurance policies. Not worth the risk.
Went with the Whale 120 due to the compact size which is plenty of turn over for your 20gal. It's quite, easy prime, and love the quick disconnect in/out hose body .
Got mine from Petco for $105 with online order for pickup.
Would of bought the OASE 250 below with heater and pre-filter, but it was too tall. They also have less expensive Filtosmart, and Filtosmart Thermo versions that are oval in shape, but I didn't like the chamber/flow setup.
Sicce Whale 120 – 140GPH
Self-priming
Filter body disconnects quickly and floating filter baskets make replacement fast.
Can be hanged directly on the tank.
Compact size 6.9 x 6.9 x 8.5
$130 Amazon Can get at Petco
OASE Indoor Aquatics Biomaster Thermo 250
The built-in heater
EasyClean pre-filter module
9.4 x 9.4 x 14.6
$230 Amazon