Let's say company A has an android app to access their service, this app is really ugly and slow so I reverse engineer the internal API and create a better app, can the company sue me for using their API? I'm not making any profit, adding a middleman or using it in a commercial way, It's just a way for me to use their service more easily, Is this legal?
The app is basically to access the school account, I wanna make a better client because the current one is impossible to use
I've faced similar situations in the past. In one instance I consulted with a lawyer (I live in Denmark so this is Danish law), his advice was that if the data was public it should be fine, the problem could be however that it might violate their terms of service, and if they find out then they are likely to start enforcing counter-measures (blacklisting, banning, throttling etc.) if they don't want you scraping their data.
If they send you a formal request to stop and you don't comply then it would probably be a different matter legally.
Another problem however is that you, if you are serious about your app-project, intend to keep it online, available and robust, and you have no way to ensure that, if you are basically doing it without their cooperation, just piggybacking on their service basically. Unless you are very active in maintaining the app, e.g. recovering every time they make a breaking change to their API (you have no way of gracefully preparing if you are not cooperation with them) your app is gonna break, most likely users will perceive it as an unstable, frail app.
As soon as you stop maintaining it, it will only be a matter of time before a breaking change happens and your app stops working.
So much better to try and approach them, play with open cards.