What is an API?

Anais Gyulbudaghyan
7 min readOct 29, 2020

API stands for application programming interface, an integral part of web development that appears in a multitude of ways in the programming world. APIs are important to know and learn when working with everything from command-line tools, to Java code, to Ruby on Rails web applications, and everything in between. An API provides a platform to interact with separate software components or resources.

Aside from the very rare occasion where you might write every single line of code on a particular project from scratch, navigating external software components will be part of the coding process. Each of these external software components operates with its own unique API. Well-designed software applications that are built from scratch will still have internal APIs to help organize code and make components more flexible and adaptive. Additionally, there are numerous public APIs that allow you to tap into functionality developed elsewhere over the web.

How Is An API Different From An Application?

The term application is used broadly and with several distinct meanings, especially depending on the level of someone’s programming knowledge. For example, in the context of API here are a few ways to think of what an application is:

  • A piece of software with a distinct function
  • An entire server or app
  • A small part of an app

Put another way, any piece of software that can be clearly separated from its environment could be considered an application under the API framework, and will probably also have its own API.

To make this more clear, let’s use an example, such as using a third-party library in your code. Once this library is integrated into your code, the library becomes a segment of your entire app. Since this is still a distinct piece of software even as a part of the larger platform you are building, the library most likely would have an API that allows it to interact with the rest of your code.

For those familiar with object oriented design, where code is organized into objects, here’s a different example. Within your application, there may be hundreds of objects defined — all of which can interact with one another. Each of these objects has its own API — a conglomeration of public methods and properties that the object uses to interact with other objects within the application.

Still a little confused? Here are two of the most widely used examples to make this a bit more clear:

  • Google APIs, which allow developers to connect code to the whole range of Google services, such as Maps, Translate, or Google Calendar. APIs are so critical to Google’s operations and business model that they acquired Apigee, a leading API management platform, to further optimize their APIs and make them more easily integrated for third-party clients who want to weave them into their programs.
  • Facebook APIs, which allow you to programmatically access Facebook’s social graph and marketing tools. These APIs are perhaps the most famous to folks without programming experience, due to the Cambridge Analytica scandal and the abuses of data that resulted from them.

Why Are APIs So Useful For Programming?

Any experienced programmer can tell you that simplifying and streamlining coding, no matter what tool you use, is an essential best practice for high-level programming. APIs are an essential part of this simplification — they take an overwhelming amount of complexity and define a relatively simple set of interactions that you can utilize instead of doing it all yourself.

Traditionally, APIs were developed and initially used to connect code components running on the same machine. Later, as comprehensive networking (and now cloud services and hosting) became more widespread, more and more public APIs (otherwise known as open APIs) have become available. Public APIs are outward facing and accessible over the Internet, which allows programmers to write code that interacts with other vendors’ code online; this essential process is referred to as API integration.

Open APIs also allow developers to mix and match different pieces of existing functionality from vendors on the web for use in building their own platform. While you will still need to pay for access to many public APIs (often sold through subscriptions or licensing agreements), the cost is often outweighed by the amount of time and money you can save by simplifying the processes you need and using existing solutions instead of writing hundreds of lines of new (and potentially buggy or messy) code.

So what common public APIs do programmers rely on the most? Large tech companies, (especially in the social media realm) frequently make their compiled data available to the public. This data is often essential for modern web businesses who need social integration for branding, customer research, outreach, or upgrading the user interface of their front-end website.

Additionally, APIs are created and maintained by government organizations, conferences, startups, fan communities, eSports leagues and even individuals. These different organizations generate their own APIs to share anything from social media content to trivia, rankings to driving directions, and all sorts of compiled information that anyone may benefit from access to.

How is an API different from standard database-driven projects?

APIs differ from traditional database-supported (also known as static) web applications in that they do not usually need to contain a front-end. For newer programmers, this means they require no HTML, but CSS is required to be shown to the user via static pages. Also, CSS allows for dynamic templates that fuse data with reusable layouts for easier access and manipulation of the data.

For more experienced programmers familiar with building server-side applications with languages like PHP or JavaScript, you likely already understand the need for certain routes. In this case, you need URLs that trigger route handlers to issue certain actions when they receive requests involving data. Similar to other sites, APIs have routes, but they generally do not serve templates on those routes.

How Can I Access And Use A Public API For My Own Project?

Now that you know how and why APIs might give you some major assistance for your own projects, what do you need to do to gain access and start integrating them with your own code base? If you want to work in a public API to add functionality and dynamic elements to your website, here are a few of the options to get started:

  • Look for a public API that offers specific information you want to access for your needs. Be sure to do some research on the API you are zooming in on, to make sure it has documentation and is maintained consistently. There are several sites that aggregate a number of useful APIs, including ProgrammableWeb and AnyApi among others
  • Next, browse the documentation to make sure the API is able to be integrated into your site and doesn’t have unwelcome strings attached. For example, a number of APIs require you to register for an API key to access data. Other APIs have authentication processes your app will need to navigate before you can access the needed information.
  • Ping the API from your own app and process the data that you receive, which allows you to display it within your platform! Once you are successfully able to query the API with a tool like Postman, you can write the code that integrates the data the API returns into your own work, and thus display it or allow access to it for your users.

How Do I Learn How To Create My Own API Or Connect With One?

For novice coders who want to dive deeper into the structure and functionality of application programming interfaces, there are several steps you can take to learn the basics:

  • Take an online coding class and learn more about different programming languages. As certain APIs are optimized to work with specific languages (like Python or JavaScript, for example), learning and mastering the basics of the language first will make it much easier to learn how to incorporate APIs into any application you build.
  • Browse some of the open-sourced APIs available via a quick Google search. While you may not be ready to actually use one, or have the technical expertise yet to build your own application, you can get a better sense for what the coding and interface look like by exploring some on your own.
  • If you are interested in building a public API for others to use, you will need to know the basics of server-side web programming along with the fundamental knowledge of languages like Java or Python to get started. There are plenty of resources that can walk you through the process from there, step by step, or point you to tutorials for how to do it.

Since APIs drive so much of web development and business, becoming skilled at building public APIs or the techniques needed to use them to enhance projects you are coding for is also a great step for making yourself a more attractive hire for startups or companies. For companies that are especially interested in adding robust features to their site, while working with a limited budget, APIs offer an affordable method for adding that functionality without breaking the bank on paying developers to write lines and lines of code from scratch.

Start learning and mastering your skills with a coding language, and turn yourself into an API expert to launch your future career.

--

--