If a company makes their api publicly available to developers, can you use it in any application that you create? Or do you need to get some kind of permission first?
It depends on the terms of service under which the api was made public. The best thing you could do is to ask the one who is providing the api.
A relatively famous case comes to mind:
Oracle sued Google over the use of Java API in Android. Ultimately the courts ruled that it was fair use. But it has probably cost Google quite a lot of cash to win the case and Oracle may yet have another go ...
As Sebastian said, check with the provider/owner of the API and your existing license/relationship agreement with them. It is almost always cheaper to employ a lawyer early on.
Xamarin Inc., as a wholly-owned Microsoft subsidiary acting as a separate legal entity, adheres to the Microsoft Privacy Statement: Privacy & cookies