If you’re not a programmer, you might have come across the term “API” and thought it refers to a species of extinct dinosaurs. You’re right to think about it this way, since you have no clue what it is. In this post, I will explain this simply and clearly, once and for all.

APIs offer a way for applications to talk to each other. It allows them to perform much more than if each application was working on its own. For example, if you want your bug tracker (e.g. Basecamp) to open an issue every time a row is added to one of your Google spreadsheets, you would need an API for that. The application providing the data is called the API server – in our case the Google spreadsheet, and the application retrieving the data is called the API client – Basecamp in our case.

Now that you understand what an API is, you might be wondering if your product needs one. Here are some cases where an API integration is needed, see if it makes any sense for you:

Client API Integration

A client API integration is where your application retrieves data from other applications and uses it. Here are two common scenarios for implementing such integrations:

  • Complex Technology Requirements: Sometimes it’s easier and less expensive to use a 3rd party in order to achieve a certain functionality, rather than write the code in-house. Voice recognition software and job application parsing software come to mind. For more information, visit Mashape, a marketplace for API clients and providers.
  • Leveraging existing data: There are lots of data-oriented API providers, the most prominent are social networks. For example, you might be building an application to help people find a job fast, and you might need to analyze their LinkedIn profile in order to offer them job recommendations.

Server API Implementation

If you have a data-driven application or a complex technology that within your product, you might consider implementing an API server in order to allow 3rd party applications to use your product. Here are some cases where such an implementation is required:

  • Focus on your core product: If you are unable or unwilling to add lots of bells and whistles to your product, you might consider creating a minimal product that performs the essential, and have a public API for users who want custom uses for your own application. They will be able to add their own features on top of your application.
  • Requests for custom functionality: If the nature of your product requires lots of customization for every user, you might want to consider creating an API, if providing custom services is not part of your company. This will help your product users hire external developers to build what they need.
  • Higher Adoption Rate: Offering an API will almost certainly increase the adoption rate of your software, as its usage is no longer tied to your own product, but it can be virtually used in any situation.

I hope this has helped you understand what APIs are, and whether you need to have one. Any questions or thoughts? Feel free to comment in the box below, and I will get back to you as soon as possible.