APIs are an essential part of many developers’ and software engineers’ skill sets. They are used for front-end and web application development as well as software engineering and even data science. Plenty of fields rely on APIs to allow software to function harmoniously. As a result, APIs are a great way to build dynamic apps or demonstrate competency to a prospective employer. Getting started with an API relevant to your field or even your personal interests can serve as a great way to get real-world experience.
This article aims to connect you with an API or even a suite of APIs that resonate with you. We’ll provide an overview for 20 APIs, grouped by function.
We’ll cover:
Try free for seven days.
APIs, or Application Programming Interfaces, are the intermediary between two different software systems. They enable communication through a set of functional rules called protocols. Requests sent from one system to another via an API are calls. The client system, or API client, makes the request, and the receiving system, or API server, responds with the corresponding resource or action.
There are several terms to be familiar with when covering different APIs.
API endpoint: API endpoints are the URLs that are used to access the functional permissions of an API. Here are two example endpoints from the Freshbooks API for bookkeeping:
https://api.freshbooks.com/accounting/account/{ACCOUNT_ID}/users/clients
https://api.freshbooks.com/accounting/account/{ACCOUNT_ID}/users/clients/{CLIENT_ID}
API resources: API resources are the data retrieved by the API in response to a request. For example, the Freshbooks API can track addresses of users. Just a few of the resources that the API can provide are: street_no
, zip
, and state
.
API keys: Unique identifiers that authenticate your request so the API knows it is valid. This sort of security is necessary for the API to differentiate between legitimate and illegitimate requests.
API calls: The request submitted by the client to the API. API calls typically involve an endpoint, an HTTP request verb, a header, and an API key.
APIs have varying degrees of access as well. These types inform confidentiality and release policy standards for APIs.
Most APIs require some level of authentication to differentiate legitimate requests from fake ones. Getting started with an API will typically involve signing up for a developer account through whatever service offers the API. This is usually a fairly simple process in which you provide a justification as to what you will use the API for; the developers need to understand what permissions your application will require. The specifics of retrieving developer credentials for any API vary, but most are relatively straightforward.
Each of these APIs is designed specifically for analyzing content and performing natural language processing requests. They facilitate sophisticated AI applications without heavy local machine learning computation.
Microsoft Azure Cognitive Services launched their Microsoft Computer Vision APIs as a cloud-based offering for analyzing images and video content. According to Microsoft, the APIs can:
Beginner friendly: No machine learning expertise is required.
Microsoft’s documentation breaks the Computer Vision API suite into four main categories:
A couple of endpoints to note for Optical Character Recognition are:
https://{endpoint}/vision/v3.0-preview/read/analyze[?language]
https://{endpoint}/vision/v3.0-preview/read/analyzeResults/{operationId}
Cloudmersive is a platform that hosts APIs for a range of deep learning and machine learning applications. In addition to their Natural Language Processing (NLP) API, they have image recognition, deep learning, and more. Cloudmersive’s NLP API is a sophisticated tool capable of many different natural language functions:
A couple of noteworthy features and endpoints are:
POST /nlp-v2/analytics/sentiment
POST /nlp-v2/analytics/profanity
POST /nlp-v2/rephrase/rephrase/eng/by-sentence
OpenAI’s Natural Language Processing API is based on one of the most well-known and sophisticated AI’s, GPT-3. It is capable of a wide variety of NLP tasks as well as “Codex,” a technology that interprets text and writes it as code. Open AI’s API is being used at businesses like IBM, Salesforce, Cisco, and Intel.
The OpenAI API processes text in chunks called tokens. These tokens may be words or just groups of characters. Many tokens start with one whitespace.
The completion endpoint takes an unfinished statement as a prompt and returns a prediction of the completed text.
This endpoint takes an HTTP POST
request and looks like this:
https://api.openai.com/v1/completions
If you’re interested in learning more about machine learning APIs or simply curious about how to get more out of NLP APIs the course Using OpenAI API for Natural Language Processing in Python is for you.
From point of sale, to bookkeeping, to shipping, these APIs help create your own e-commerce application to fully realize your side-hustle dreams.
Square provides a whole host of various APIs capable of almost anything you’d want out of a point of sale (POS) system. The Square suite of APIs is built to cover almost all essential business workflows. They have services for accepting and refunding payments, creating and tracking orders, managing a product catalog, and much more.
To get access to all of the Square APIs you’ll need to create a developer account. After you’ve created an account you can access Square’s Developer Dashboard and test API requests for any of the services that they offer.
Square offers SDKs for: Java, .NET, Node.js, PHP, Python, and Ruby
A couple of relevant APIs for side-hustle businesses are:
https://connect.squareupsandbox.com/v2/invoices
https://connect.squareupsandbox.com/v2/orders/{order_id}
Freshbooks is an accounting service that streamlines expense tracking, inventory management, invoicing, and payments. With its software as a service (SaaS) model, Freshbooks mainly targets small to medium-sized businesses. If you’re planning on starting a business or just want to keep track of your side-hustle, having a way to monitor expenses and store payment records is essential.
The Freshbooks API is a wonderful tool for automating these bookkeeping tasks. In addition to the example endpoints in the introduction, the API can:
https://api.freshbooks.com/accounting/account/{accountid}/payments/payments/{payment_id}
GET https://api.freshbooks.com/timetracking/business/{business_id}/time_entries
Shippo is a full shipping solution that provides small businesses with all the tools necessary to ship, track, manage addresses, etc. The Shippo API can create, update, and retrieve:
The core of the Shippo API is the Shipments function. Shipments are objects that include information about the “to” and “from” addresses and the object shipped.
https://api.goshippo.com/shipments/
https://api.goshippo.com/shipments/{shipment_object_id}
Refer to the Shippo documentation to explore more about the API’s capabilities.
These APIs are centered around connecting you to your workspace. They’ll give you even more control through clever automations and custom workflows. We’ll cover the basics of the GitHub, Slack, and Dropbox APIs.
GitHub offers a Rest API that enables developers to automate repetitive tasks and achieve new levels of functionality across their projects and in their repositories. The GitHub API pulls information directly from GitHub and returns it in the JSON format. Additionally, multiple developers working on the same project can automatically update pull requests and commits on branches of repositories.
Just a few of the functionalities the API is capable of are:
Operations you may find useful are:
POST /orgs/{org}/repos
POST /repos/{owner}/{repo}/pulls
PATCH /repos/{owner}/{repo}/pulls/{pull_number}
POST /repos/{owner}/{repo}/deployments
GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
The Slack API opens new doors to make the collaboration and workspace tool even more effective. It can automate repetitive tasks like approvals and feedback, and it even supports custom workflows. You can even integrate functionality from external applications through the API.
The Slack documentation even has a section for how to build your own Slack apps that function in their web app using their built-in toolkit,Block Kit.
A couple of common https://slack.com/api/
endpoints are:
chat.postMessage
conversations.history
files.list
Dropbox is a cloud storage company that offers a comprehensive suite of file management services including: editing, sharing, and remote access. The Dropbox API can help manage these services and increase productivity by:
The newly retooled Dropbox API v2 even includes advanced functionality like full-text search, thumbnails, and sharing. The Chooser and the Saver components allow developers to select and save content both to and from Dropbox. You can even automate notifications from Dropbox with webhooks that alert you whenever a change is made to a file you are working on.
Some common endpoints to be familiar with are:
https://content.dropboxapi.com/2/files/download
https://content.dropboxapi.com/2/files/upload
https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings
These APIs work to communicate stock market trends, keep tabs on cryptocurrencies, and automate payments across borders and currencies.
The YH Finance API is a free tool that enables you to pull stock market data directly from Yahoo Finance. It can retrieve both real-time information as well as historical data, so you can accurately examine a financial security.
The API is fairly small compared to others on this list, and does not feature the most comprehensive documentation. It features a total of 11 endpoints. Nine return information related to securities, and the other two show market trends.
All of the endpoints are GET
requests. Some notable endpoints are:
https://yfapi.net/v6/finance/quote
https://yfapi.net/y7/finance/options/symbol
https://yfapi.net/v8/finance/spark
Wise is a London based service for global bank accounts. It currently offers seamless transfer between 50 different currencies. Wise’s goal is to connect international customers and businesses by alleviating the reliance on banks and their hidden exchange rate markups. The platform is built around streamlining the currency exchange process and creating new opportunities for fledgling businesses and world travelers.
Wise offers several different APIs in their developer suite:
The API relevant to most users is Payouts, as it allows users to automate their own Wise account. The Payouts API can automate the entire process of sending and receiving money. It includes endpoints that:
GET
profile information: https://api.transferwise.com/v3/profiles/{profileId}/subscriptions/{id}
https://api.sandbox.transferwise.tech/v1/profiles
https://api.sandbox.transferwise.tech/v3/profiles/{profileId}/quotes
https://api.sandbox.transferwise.tech/v1/transfers
Note: the above endpoints use the
POST
request unless specifically noted.
CoinAPI is a service that compiles all cryptocurrency market data into a one-stop-solution. The API itself is an HTTP Restful API that returns data in JSON
, XML
, or CSV
formats. They also offer software development kits on GitHub in almost any language you require.
CoinAPI offers several different API services, but the one popular with most users is the Market Data API. This API provides high quality real-time and historical data that is standardized across different exchanges.
Hands on: If you want to try out the API but don’t want to spend the time building your own web app, Coin offers a sandbox environment. Here you can familiarize yourself with a sample of data from a few market sources.
A couple of endpoints to take note of are:
GET
a list of all cryptocurrency assets (or a specific asset with {asset_id}
): /v1/assets
GET
the exchange rate between a pair of assets at a specified or current time: /v1/exchangerate/{asset_id_base}/{asset_id_quote}?time={time}
GET
OHLCV (open, high, low, close, volume) data for a symbol over a period of time: /v1/ohlcv/periods
Well-implemented videos work wonders at conveying pertinent information to viewers or potential customers. Videos are information-dense, high-value content that can bolster legitimacy and help increase the time that visitors spend on your website. These APIs enable different types of playback functionality, content management, and metadata tracking.
The most widely used video playback service in the world, YouTube, offers multiple APIs as a part of its Google Developer Suite. As you might expect with a Google product, they are immensely functional and incredibly well-documented. Along with providing YouTube functionality to your own app or web page, they can also search for videos and channels, and provide valuable statistics pertaining to a channel or video.
This entry focuses on the YouTube Data API, which is great for accessing information like channel activity, comments and ratings, or even search results. If you want to get some insight into your own video metrics, the Youtube Data API documentation will help get you started.
You’ll need to obtain OAuth2.0 authentication credentials and create a project through Google Cloud.
Some important endpoints are:
GET https://www.googleapis.com/youtube/v3/search
GET https://www.googleapis.com/youtube/v3/videos
GET https://www.googleapis.com/youtube/v3/channels
The Vimeo API provides a slightly different experience than YouTube. As a service, Vimeo serves a smaller, more refined community than YouTube and its API reflects this. It can manage content, track metadata, and customize the playback experience. The API is simpler, but the core functionality remains sophisticated and useful.
Vimeo offers libraries for PHP, Python, and Node.js.
Vimeo uses the open standard oEmbed
to insert Vimeo videos into external websites. The endpoint to know for placing videos with oEmbed
is GET https://vimeo.com/api/oembed.json?url={video_url}
.
Some other endpoints to note are:
https://vimeo.com/api/videos
https://vimeo.com/api/groups
https://vimeo.com/api/users/{user_id}/channels/{channel_id}
https://vimeo.com/api/channels/{channel_id}/users
Much like YouTube and Vimeo, Dailymotion is a service that facilitates video uploads and video playback, as well as channels and playlists. The Dailymotion API supports HTTP requests GET
, PUT
, and DELETE
, and it returns information in a JSON
format. They offer complete SDKs in:
Dailymotion offers other solutions for efficiently embedding videos with Swift and Android.
You can embed the video player with a single-line script that can be placed anywhere in the <body>
tags of your web application.
An example of this script, taken from the Dailymotion documentation, is:
Specifically focusing on the Dailymotion Data API, you can create comprehensive, custom reports that reflect video metrics. Dailymotion was built with object-oriented design, so each object (video, user, playlist, etc.) has hierarchical relationships.
Some endpoints to be aware of:
GET
a specific channel: https://api.dailymotion.com/channel/{channel_id}
GET
a video or list of videos: https://api.dailymotion.com/video/{video_id}
GET
the information related to a specific player: https://api.dailymotion.com/player/{player_id}
These two APIs are centered around expanding the functionality of well-known social media forum Reddit and blog-hosting service Blogger. Both APIs can provide useful automations and custom applications that improve or expand your social spaces.
Many developers create useful tools, like bots, with the Reddit API. If you’re ever on Reddit, chances are you’ve come across a comment bot. These applications scrape comment data on certain domains and respond accordingly. Features like this are especially useful when it comes to moderation, community guidelines, and notifications sent to new posts.
Machine learning: Because of its vast amounts of text, Reddit is often used to train machine learning programs.
In addition to using the API directly, there is also a wrapper that can be imported into Python.
Some endpoints worth noting:
https://oauth.reddit.com/r/{subreddit}/new
https://oauth.reddit.com/r/{subreddit}/comments/{post}
https://oauth.reddit.com/api/comment
Blogger is a service that allows anyone to own and operate their own blog. Their API provides convenient functionalities:
It operates on five main resources:
Blogger is a REST API that returns data in the JSON
format. Requests are made with standard REST HTTP mappings such as: GET
, PUT
, DELETE
, POST
, and PATCH
.
Some common endpoints are:
POST
a new page : https://blogger.googleapis.com/v3/blogs/{blogId}/pages
POST
a new blog post: https://blogger.googleapis.com/v3/blogs/{blogId}/posts
GET
a user’s information: https://www.googleapis.com/blogger/v3/users/userId
These APIs are centered around applications and services you may use when planning a trip or engaging in leisure activities. We’ll cover the AccuWeather APIs, the Ticketmaster API, and the Amadeus API.
AccuWeather is a weather-forecasting and reporting technology. There are two main types of AccuWeather APIs: the Core weather API and the MinuteCast API. The Core weather API provides endpoints for a range of functions. Most notable are daily and hourly weather forecasts and current conditions. The MinuteCast API enables users to retrieve a detailed 120-minute precipitation forecast in a given area.
The Core weather API is further extruded into more specific APIs.
Outside of meteorology or extreme weather conditions and alerts, the most useful functions of AccuWeather are the Locations, Forecast, and Current Conditions APIs.
Example endpoints from these are:
http://dataservice.accuweather.com/locations/v1/cities/search
http://dataservice.accuweather.com/forecasts/v1/daily/5day/{locationKey}
http://dataservice.accuweather.com/currentconditions/v1/{locationKey}
Ticketmaster is the most widely used events ticketing system globally. They offer several different APIs:
The most relevant APIs for general consumers are the Discovery API and the Inventory Status API.
Some endpoints for the Discovery API are:
GET
event details: https://app.ticketmaster.com/discovery/v2/events/{event_id}
GET
venue details https://app.ticketmaster.com/discovery/v2/venues/{venue_id}
GET
search a list of venues according to request parameters: https://app.ticketmaster.com/discovery/v2/venues
The Inventory Status API has only one endpoint:
https://app.ticketmaster.com/inventory-status/v1/availability
Amadeus is a trip-planning technology that aims to streamline travel. They offer two tiers of APIs, self-service and enterprise. The self-service APIs are free and intended to be for personal travel assistance. In the self-service tier there are four overarching categories of APIs that get broken down even further.
There are far too many APIs to list outright, so we’ll include those most relevant to planning your own trips.
Wander: The Amadeus developer documentation houses all these APIs and more if you want to explore the full functionality of their API suite.
The endpoints you’ll need to find and book a flight are:
https://test.api.amadeus.com/v2/shopping/flight-offers
https://test.api.amadeus.com/v1/reference-data/locations
test.api.amadeus.com/v1/booking/flight-orders
Try free for seven days.
Whether you’re a fresh developer or a seasoned API integrator, we hope you learned something about these APIs. They are all incredibly deep technologies that, with a little creativity, can be incorporated into new and brilliant applications. If you want guided instruction, we offer a unique course for each of the APIs mentioned in this article.
Join a community of 1.7 million readers. Enjoy a FREE, weekly newsletter rounding up Educative's most popular learning resources, coding tips, and career advice.