What is an API?

What is an API?

Thilo Huellmann
Co-Founder & CTO

APIs: demystified

Maybe you have seen a section like the one on Stripe's homepage:

Why do we care about APIs

"Whew, not my section" you think? Here is the good news: You don't need to read such pages in order to still use an API for your own benefit. If you remember nothing else, this is the most important thing to take with you:

APIs are used to exchange information between different programs.

API stands for Application Programming Interface. It is one way how programs can communicate with each other, without having to sit in the same code base or even on the same server. There are other ways to get information across but APIs have become essential in many software- and data-driven environments. Much of what happens when you are browsing the Web or using apps on your phone is based on such APIs.

Going down the rabbit hole

In many cases, automating your tasks such as in the example above is sufficient to cover a huge range of processes and applications. If you want to understand a few more technical details, read on!

Requests and HTTP

It took me a long time to wrap my head around these two connected concepts when I first entered the world of the Web. The only explanation I have is that I had often seen "HTTP 400 Bad Request", followed by some form of disappointment that I could not reach the site that I wanted. Later on, I learned that those two are not that bad after all.

Making a request is similar to asking a question, except that the question has to contain certain elements (words) and follow a certain structure (grammar). The question goes from the client (your browser) to the server (a website database or website). In fact, every time you enter a URL into your browser, you are making a request.

There are different types of requests that are relevant for working with APIs, also known as request verbs. The most common ones are the following:

  • GET: Request a specific resource, or list of resources
  • POST: Send data to an API to create a new resource
  • DELETE: Request a specific resource to be deleted
  • PUT: Send data to an API to update an existing resource

Let's just focus on the first two for now, GET and POST. When using GET, the server (see above!) is prompted with responding to a certain question: You want to see a list of your Facebook friends? That's a GET request in the background! In turn, when uploading a new picture to Instagram, that is a POST request to their servers: You send over some data from your client (your mobile app) to their database.

Responses and JSON

Unless there was an error in the request or data transfer, servers are kind enough to send you a response. In most cases nowadays, this response will be in the JSON format. This format is relatively easy to read and write, even if it looks a little bit odd at first

API response JSON

If you want to go really wild, check out the official documentation (great content and great 90s-websites throwback).

In any case, this is what responses typically look like and you can already see that the format is very structured. And that is why computers can easily work with it.

APIs at Levity

Our core software is built as an API. What you can see as a registered user is just the frontend but that is a separate application which makes it easier for people to navigate the functionality. But all it does is take user input, make requests to the API and look nice.

One of the benefits of that architecture is that we can also offer that API to others. That allows us to build integrations to other systems – like Zapier, Dropbox, etc. – and it can also be used by you or your developers directly.

Once you have trained your custom model, you will be able to see the API documentation that has been fully customized to you. It has a pre-configured POST request through which you can make all kinds of predictions. As a response, you will get a neatly formatted JSON file that always returns a response in the same format again.

Before we finish off, I want to restate again that you don't need to set up this API in any programming language. You can go alternative ways similar to the example we gave above. Happy requesting!

Now that you're here

Levity is a tool that allows you to train AI models on images, documents, and text data. You can rebuild manual workflows and connect everything to your existing systems without writing a single line of code.

If you liked this blog post, you'll probably love Levity.

Thank you! Please go to your inbox to confirm your email.
We are sorry - something went wrong. Please try it one more time! In case the problem remains, you can also send us an email to hello@levity.ai

More from our Blog

What is Text Analysis: Techniques, Applications & Examples

Understanding how to process unstructured text data in your company's processes from emails and customer feedback to categorizing service requests

Read story

Analyze qualitative survey responses intelligently using AI

Gathering, processing, and analyzing qualitative data can be difficult and time-consuming. Learn how to gain insights into customer feedback at scale

Read story

What is data extraction & how does it work?

A guide to data extraction for process owners - including some great tools - and why sometimes data extraction is not the answer.

Read story

Stay inspired

Sign up and get thoughtfully curated content delivered to your inbox.
Thank you! Please go to your inbox to confirm your email.
We are sorry - something went wrong. Please try it one more time! In case the problem remains, you can also send us an email to hello@levity.ai