API Guide
This guide contains tools and resources for learning about Application Programming Interfaces (APIs) and how to use them.
API Basics
- What is an API?
- How to Use an API?
- What are the types of APIs and their differences?
- What Is an API: Concept and Architecture Types Explained on Real-Life Examples
- Understanding And Using REST APIs
API Database
This is a very short list of interesting web APIs to learn about.
- Google Cloud Platform
- Instagram Platform (API) - Start with Instagram Basic Display API
- Slack
- Youtube
- Soundcloud
- Spotify
- Google Sheets
- New York Times (Dan Shiffman Tutorial)
- Goodreads
- Numbers API
- Wordnik
- Discogs
- Pandora
- NASA
- Marvel Comics
- Yelp
- Uber
- RTD Denver
- US Patent Office (USPTO)
- Voice APIs
- Hardware APIs
- Open Weather Map
- Coinbase
API Discovery
- RapidAPI Hub - Huge directory of APIs
- Public APIs by public-apis - A collective list of free APIs for use in software and web development.
- Public-APIs by n0shake - A large collection of resources
- awesome-api by Kikobeats - Another "awesome" list
- Programmable Web - This is a great resource for discovering APIs and learning how to use them.
- Free Public APIs for Developers APIs
- 14 Most Popular Art APIs
- 30+ Most Popular APIs for Web in 2020
- Top 10 Artificial Intelligence APIs for 2020
- Top 50 Most Popular APIs on RapidAPI (2020)
- 6 Interesting APIs to Check Out in 2020
API Mashups
What's a mashup? It's an application that utilizes one or more APIs in combination to provide a solution to a problem or ask new questions.
Projects
- What is an API Mashup?
- Programmable Web Mashups
- HousingMaps (2005) was the very first Google Maps mashup, created before there was a Google Maps API. It overlaid Craigslist apartment and housing listings on a map, for some 30 US cities plus London.
- We Feel Fine by Jonathan Harris (2006) - New media art project that explores human emotion on a global scale.
- Radiolab: Insomnia Line - Recent episode that explores the use of voice mail to connect with people experiencing insomnia. I thought this was an interesting parallel and accessible form of crowd sourcing data relating to emotional states.
- #Elkbot (2011) / Demo WIP Video - by RJ Duran & Chris Znerold
- INFOGRAPHIC — A History of Modern API Mashups
- TOP 15 MUSIC APIS TO POWER YOUR NEXT MASHUP
- Mapping World Literature with Mapbox by Tess Stevens (C11)
- MagicMirror - Code used to power the magic mirror in the studio.
- Spotify Developer Showcase - A neat selection of apps that use Spotify API in some way.
Products
These are platforms that utilize APIs in their products. The use of one or more APIs is core to their business model.
- later.com - Instagram Marketing
- Slack Apps - Apps for Slack ecosystem
- Zapier - Connects anything to anything else
- Building an App the Simple Way: 6 Database-Powered App Builders (2015) - List of tools to build databases.
API Development
This section contains references to tools and background knowledge needed for understanding how to work with and build APIs.
Development Tools
- Postman - A great tool for testing all types of requests to/from APIs
- hoppscotch - Similar to Postman but web based
Javascript
- Tutorials
- Data, Libraries and APIs - A great section of Dan Shiffman's Programming from A to Z Course covering APIs, data, and p5.js.
- Working with Data and APIs in JavaScript - A recent tutorial series by Dan Shiffman covering working with data and APIs. He uses p5.js but the focus is mostly on Javascript.
- fetch()
- Fetching data from a server - Explains how to use Fetch API (fetch()) vs jQuery.ajax() vs XMLHttpRequest.
- JS Datatypes
- Arrays
- Objects
- Data Type: Objects
- Debugging: Using typeof.
typeof "a string"
- Objects Quick Reference
- Javascript Built-In Object Reference
- Eloquent Javascript - This is a great book to learn more about the language and how to use Objects.
Data and Databases
Building Databases
- Tutorials
- Firebase - Dan Shiffman's Firebase Tutorial - This is a great resource for going deeper into JS, APIs, and related programming topics in general.
- Tools
JSON
- Tutorials
- Working with Data - Tutorial series by Dan Shiffman about JSON and APIs
- Language
- JavaScript Object Notation (JSON) - A syntax for storing and exchanging data.
- JSON Syntax
- Tools
- JSON Formatter - Chrome extension that makes it easy to see JSON data in the browser. Github repo.
- Example of JSON response from Github API - This GET request to the Github API returns public data about my Github account
- JSON is Clearly the King of API Data Formats in 2020
Protocols & Standards
URL
Parts of a URL - protocol, host, port, resource path, query
HTTP / HTTPS
- HTTP: The Protocol Every Web Developer Must Know - Part 1
- Understanding Application Layer Protocols
- HTTP Request Methods
CRUD
REST
- What is REST
- What is RESTful programming?
- Understanding And Using REST APIs - Great overview of APIs and using them.
- RESTful Web Services: A Tutorial