I've had the best experience using Ninjagram which allows me to stop botting on any error, rather than what some other programs do with using delays and possibly continious retries when actions don't work or return error messages. Before I did that I would get soft blocks lasting usually 24 hours when I got error messages because the bots would just try and try again until IG responded with an outright block on that kind of action for 24 hours or would log me out completely. Stopping on any error until I check the bot and find it isn't work and then I restart it manually has worked much better for me, it's an inconvience to restart the bot but at least I always know about errors like that and the bot usually gets a few hours, at least, of rest until I restart it. Stopping on errors like that might likely seem more human / authentic as well, which may be one reason why I also almost never get 24 hour soft blocks anymore. I wish I could say I was also getting rich, but hey at least I'm not losing accounts while I keep trying, huh?