I have a 2.5 gallon, unfiltered, and I have to change the water every 2-3 days. I looked into getting a snail or shrimp since that's really all that can fit in my tank, but my betta's aggressive, so if your fish is aggressive it's not a good idea.
Bettas sometimes eat shrimp, and some shrimp attack bettas and rip their fins or worse... And snails poo a lot and can have babies without a mate or can carry eggs for months. Sometimes bettas kill them too. So I just have my one fish in my tank, I think he likes it better that way :)