This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Hunter Johnson
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:
- What is an API?
-
An API for every use case
- Dive into machine learning applications
- Build a complete e-commerce solution
- Own your developer workspace
- Take the reins for your finances and investments
- Tap into your video metrics
- Get social
- Take time off
- Get started with API integration today
- Wrap up and next steps
What is an API?
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.
Basic API terminology
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:
- Create and list clients:
https://api.freshbooks.com/accounting/account/{ACCOUNT_ID}/users/clients
- Update a client:
https://api.freshbooks.com/accounting/account/{ACCOUNT_ID}/users/clients/{CLIENT_ID}
- Create and list clients:
API resources: API resources are the data retrieved by the API in response to a request. For example, the Freshbooks API can track the addresses of users. Just a few of the resources that the API can provide are:
street_no
,zip
, andstate
.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.
- Private: These are organization-specific APIs that are exclusively used for internal purposes.
- Partner: API access can be shared with business partners or other approved parties; partner APIs are used to enforce quality control standards.
- Public: Also known as "Open APIs," they are similar to open-source software; public APIs are available for use by the general public.
API authentication
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.
An API for every use case
Now, we'll break down 20 APIs and provide an overview of their functions and what you can expect to get out of them.
Dive into machine learning applications
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.
1. Microsoft Computer Vision APIs
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:
- Analyze video in real-time
- Automate text extraction
- Boost content discoverability
Beginner friendly: No machine learning expertise is required.
Microsoft's documentation breaks the Computer Vision API suite into four main categories:
- Optical character recognition: extract text from images
- Image analysis
- Face: Facial recognition
- Spatial analysis
A couple of endpoints to note for Optical Character Recognition are:
- Call the Read API and perform a Read operation on both handwritten and printed images:
https://{endpoint}/vision/v3.0-preview/read/analyze[?language]
- Retrieve the result of a Read operation as a character stream:
https://{endpoint}/vision/v3.0-preview/read/analyzeResults/{operationId}
2. Cloudmersive Natural Language Processing API
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:
- Language detection
- Rephrasing
- Segmentation
- Language translation
- Part of speech tagging
A couple of noteworthy features and endpoints are:
- Analyze if text is positive, negative, or neutral in tone:
POST /nlp-v2/analytics/sentiment
- Detect profanity:
POST /nlp-v2/analytics/profanity
- Rephrase a sentence up to 10 different ways:
POST /nlp-v2/rephrase/rephrase/eng/by-sentence
3. OpenAI API
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.
Build a complete e-commerce solution
From point of sale, to bookkeeping, to shipping, these APIs help create your own e-commerce application to fully realize your side-hustle dreams.
4. Square APIs
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:
- Invoice API:
- Create an invoice:
https://connect.squareupsandbox.com/v2/invoices
- Create an invoice:
- Order API:
- Retrieve one or multiple orders with their order IDs:
https://connect.squareupsandbox.com/v2/orders/{order_id}
- Retrieve one or multiple orders with their order IDs:
5. Freshbooks API
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:
- Retrieve a payment:
https://api.freshbooks.com/accounting/account/{accountid}/payments/payments/{payment_id}
- Calculate the time spent working for a client:
GET https://api.freshbooks.com/timetracking/business/{business_id}/time_entries
6. Shippo API
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:
- Addresses
- Parcels
- Shipments
- Shipment rates
- Transactions
- Shipment tracking
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.
- Create a shipment:
https://api.goshippo.com/shipments/
- Retrieve a shipment:
https://api.goshippo.com/shipments/{shipment_object_id}
Refer to the Shippo documentation to explore more about the API's capabilities.
Own your developer workspace
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.
7. GitHub API
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:
- Code management
- Collaboration
- Deployment
Operations you may find useful are:
-
Create a repository:
POST /orgs/{org}/repos
-
Create and update pull requests
- Create:
POST /repos/{owner}/{repo}/pulls
- Update:
PATCH /repos/{owner}/{repo}/pulls/{pull_number}
- Create:
-
Create deployments and list their statuses
- Create:
POST /repos/{owner}/{repo}/deployments
- List:
GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
- Create:
8. Slack API
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:
- Send a message:
chat.postMessage
- Access conversation history:
conversations.history
- List files for a particular team, channel, or user:
files.list
9. Dropbox API
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:
- Accessing custom workflows
- Authorizing admin functionality privileges
- Working directly with dropbox files
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:
- Download a file from a user's dropbox:
https://content.dropboxapi.com/2/files/download
- Create a new file with contents (up to 150MB) provided in the request:
https://content.dropboxapi.com/2/files/upload
- Create a shared link with custom settings:
https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings
Control your finances and investments
These APIs work to communicate stock market trends, keep tabs on cryptocurrencies, and automate payments across borders and currencies.
10. Yahoo Finance API
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 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:
- Real-time quote data:
https://yfapi.net/v6/finance/quote
- Get the option chain for a specific symbol:
https://yfapi.net/y7/finance/options/symbol
- Retrieve stock history for a maximum of 10 symbols:
https://yfapi.net/v8/finance/spark
11. Wise API
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:
- Payouts
- Banks
- Affiliates
- Receive money
- Open banking
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}
- Add a recipient of funds with an accompanying IBAN number or account code:
https://api.sandbox.transferwise.tech/v1/profiles
- Calculate a quote that includes the exchange rate and fees:
https://api.sandbox.transferwise.tech/v3/profiles/{profileId}/quotes
- Transfer funds:
https://api.sandbox.transferwise.tech/v1/transfers
Note: the above endpoints use the
POST
request unless specifically noted.
12. CoinAPI
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
Integrate video playback and tap into metrics
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.
13. YouTube Data API
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:
- Search for a video, channel, or playlist that matches parameters in the API request:
GET https://www.googleapis.com/youtube/v3/search
- Retrieve a list of videos:
GET https://www.googleapis.com/youtube/v3/videos
- Retrieve a list of channels that match request parameters:
GET https://www.googleapis.com/youtube/v3/channels
14. Vimeo API
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:
- Search for videos related to certain request parameters:
https://vimeo.com/api/videos
- Create and manage groups:
https://vimeo.com/api/groups
- Manage subscriptions:
https://vimeo.com/api/users/{user_id}/channels/{channel_id}
- Get a list of all the subscribers of a channel:
https://vimeo.com/api/channels/{channel_id}/users
- Get a list of all the subscribers of a channel:
15. Dailymotion Data API
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:
- JavaScript
- PHP
- Python
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}
Get social
These two APIs are centered around expanding the functionality of the well-known social media forum Reddit and the blog-hosting service Blogger. Both APIs can provide useful automations and custom applications that improve or expand your social spaces.
16. Reddit API
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:
- Retrieve 25 of the most recent posts from a particular subreddit:
https://oauth.reddit.com/r/{subreddit}/new
- Get the comment thread for a particular post:
https://oauth.reddit.com/r/{subreddit}/comments/{post}
- Comment on a post:
https://oauth.reddit.com/api/comment
17. Blogger API
Blogger is a service that allows anyone to own and operate their own blog. Their API provides convenient functionalities:
- Create, update, and delete blog posts
- Retrieve page view analytics
It operates on five main resources:
- Blogs
- Posts
- Comments
- Pages
- Users
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
Take time off
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.
18. AccuWeather APIs
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.
- Locations API
- Forecast API
- Current Conditions API
- Indices API
- Weather Alarms API
- Alerts API
- Imagery API (Satellite imagery)
- Tropical API (monitors tropical storms)
- Translations (multiple language translations)
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:
- Return cities matching the search parameters:
http://dataservice.accuweather.com/locations/v1/cities/search
- Return five days of daily forecasts for a given location:
http://dataservice.accuweather.com/forecasts/v1/daily/5day/{locationKey}
- Return the current conditions for a given location:
http://dataservice.accuweather.com/currentconditions/v1/{locationKey}
19. Ticketmaster API
Ticketmaster is the most widely used events ticketing system globally. They offer several different APIs:
- Discovery API
- Partner API
- Inventory Status API
- International Discovery API
- Season Ticketing API
- Presence API (for venues and ticket scanning)
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 detailshttps://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:
- Availability:
https://app.ticketmaster.com/inventory-status/v1/availability
20. Amadeus APIs
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.
-
Air APIs
- Flight Offers Search
- Flight Create Orders
-
Hotel APIs
- Hotel Search
- Hotel Booking
-
Destination Content APIs
- Points of Interest
- Tours and Activities
-
Trip APIs (these are intended for travel agents and advertising)
- Trip Purpose Prediction
- Travel Recommendations
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:
- Search for flights:
https://test.api.amadeus.com/v2/shopping/flight-offers
- Search for airports and cities:
https://test.api.amadeus.com/v1/reference-data/locations
- Create a booking for a particular flight order:
test.api.amadeus.com/v1/booking/flight-orders
Get started with API integration today
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.
Activate your free trial to get started with any of these APIs today.
Happy learning!
Continue reading about APIs on Educative
- 20 API interview questions and answers to ace the interview
- 3 Features beginner devs overlook when building APIs
- How learning a company's API helps you in your interview
Start a discussion
What other APIs do you love using? Was this article helpful? Let us know in the comments below!
This content originally appeared on DEV Community 👩‍💻👨‍💻 and was authored by Hunter Johnson
Hunter Johnson | Sciencx (2022-11-10T19:39:31+00:00) Top 20 APIs to solve everyday problems. Retrieved from https://www.scien.cx/2022/11/10/top-20-apis-to-solve-everyday-problems/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.