Matt Makai - Python web dev & Twilio Developer Evangelist.

@mattmakai on Twitter & GitHub

Learning Web APIs

The following list is a collection of resources for understanding and learning Web fundamentals and application programming interfaces (APIs). Much of modern software development is driven by crafting custom code and combining that code with APIs. The concepts listed here are useful for adapting your career in an age when web APIs are proliferating exponentially while the number of devices communicating via the Web are outnumbering the number of humans interacting through web applications. Many of these links are also included in my application programming interfaces section on Full Stack Python but the links listed here are programming language agnostic.

These links go along with my Web APIs, Exponential Growth and Your Career talk.

Web and API Fundamentals

  • Ensure you've read the HTTP 1.1 Spec which defines the verbs for interacting with the Web, such as GET, POST, PUT, and DELETE. This document provides many foundational concepts for Web developers.
  • APIs 101 is a free guide by Zapier for both technical and non-technical audiences who want to learn the fundamentals behind web APIs.
  • If you want to get into the origins of Representational State Transfer (REST), Roy Fielding's dissertation on the topic remains hugely influential.
  • Short and to the point answer on Stack Overflow about "What is the difference between REST and RESTful?"
  • REST Vs SOAP, The Difference Between Soap And Rest is a well thought out post on the conceptual differences between the two architecture styles.

Finding APIs

  • Kin Lane's API Discovery page is a wonderful place to start finding what APIs exist.
  • ProgrammableWeb focuses on API industry news and trends.
  • TechCrunch is less technical than many other sources but covers large announcements about APIs under the 'api' tag.
  • Web APIs are integrated into all sorts of other products like Geckoboard and Ducksboard so their integrations pages are great places to start for established services.
  • breaks down web APIs by categories as does Zapier and IFTTT.
  • My post on identifying third party services was written with Django in mind but is language agnostic.

Creating APIs

  • "Design a beautiful REST API" reviews common design decisions regarding endpoints, versioning, errors and pagination. There is also a source material YouTube video where this blog post derives its recommendations from.
  • Heroku's API Design Guide provides a design perspective from one of the top current tech companies.
  • 18F produced an extensive set of opinionated API design standards.
  • 10 Reasons Developers Hate Your API goes through the top difficulties and annoyances developers face when working with APIs and how you can avoid your API falling into the same traps.

Consuming APIs

  • "API Driven Development" by Randall Degges explains how using APIs in your application cuts down on the amount of code you have to write and maintain so you can launch your application faster.
  • "Safe Sex with Third Party APIs" is a funny high level overview of what you should do to protect your application when relying on third party services.
  • John Sheehan's "Zen and the Art of API Maintenance" slides are very relevant for API integration.

I frequently add new links on Full Stack Python's APIs pages so be to check those out as well.

« Back to blog