Application programming interfaces (APIs) allow you to talk to the API provider.
As iOS programmers, we have interface and implementation files for our objective-c classes. They allow other classes to communicate with our classes’ methods and properties. In fact, we use Apple’s API to build these programs. How does a tableViewController actually work? That’s in Apple’s implementation files. We only get to see the interface to be able to use it. This is the same with other companies’ APIs.
It seems like everyone has an API now, but why are they valuable?
An API provides easy access to data that takes years to build
Let’s take Yelp for example.
What value does the Yelp API have for an independent developer?
- provides an easy way to use the company’s location data, so that I don’t have to build my own location service.
- states what the company allows you to do with their information, so that you don’t get in legal trouble with them.
- gives you an opportunity to show your developer skills and interest in the company in case you want to work for them.
The more people that use a website or service, the better for the company
Since there’s no such thing as a free lunch, why are they allowing you access to their API?
- Yelp wants you to use their service over Foursquare. If your app uses Yelp, then makes Yelp more popular.
- If Yelp didn’t have a Windows Phone app, then you could built one for that new platform without hiring you to develop for them. If the Yelp app wasn’t as good as it is, then someone else can come in and build it better, but still drive the traffic to Yelp.
- The company can see what new third party ideas are working well and adjust to what the market wants.
- They can collect the data that you generate.
- APIs are good for their internal developers too, so that developers can focus on their area and not have to learn how everything else works.
- The reality is that you can set up a computer to access their information without an API. For example, aggregators like Mint can be a real pain to banks. Having the API, allows them to better monitor who is accessing their data.
APIs look like a win-win situation, but be choosy
APIs make possible crazy cool mashups. Just remember that the API owner wants you to work on their platform because they benefit too. As a developer, your time is valuable, so be selective and intentional about which APIs you work on.