What this Book Covers

Modern web applications of the so-called "Web 2.0" era can be defined in terms of an increased focus on user participation and content creation, but also by how interconnected these applications have become. Today it isn't uncommon to log into a site using a Twitter or Facebook account, access images from one service in another, or share content from one service in a variety of others. There is a large ecosystem of web software built entirely on top of other web applications, providing new functionality to users or integrating multiple systems together.

This development, which has created a landscape where programmers can leverage specialized services to build quality software faster, is all possible thanks to the rise of web APIs.

This book covers the basics of how web APIs work, how to interact with them, and what to think about when building your own. After reading this book and its associated course, you will be able to work with web APIs in your own projects and even build your own APIs.

Who This Book is For

  • This book is for beginning developers who have some experience programming and a familiarity with using the web through a web browser.
  • This book assumes you have already read through our book on HTTP, or are working your way through it concurrently to this book.

Some of the examples will involve the command line, but entering and editing commands is all that is required. Other examples will use a graphical HTTP tool.

How to Read This Book

In general, this book is best read linearly, from beginning to end. Later topics typically build on earlier ones.


Parts of this book use command-line examples to show the input and output from programs. Here is an example:

$ date
Sun Oct 12 11:33:07 PDT 2014

In these examples, $ is the terminal prompt, and lines beginning with $ are typed at the prompt. All other lines are the output from the command.

In cases where the output is too long to include, an ellipsis indicates that the output has been truncated:

$ cat  /usr/share/dict/words