Fork me on GitHub

API Integration

The majority of production Python web applications rely on several externally hosted application programming interfaces (APIs). APIs are also commonly referred to as third party services or external platforms. Examples include Twilio for messaging and voice services, Stripe for payment processing and Disqus for embedded webpage comments.

There are many articles about proper API design but best practices for integrating APIs is less commonly written about. However, this subject continuously grows in importance because APIs provide critical functionality across many implementation areas.

Hosted API testing services

  • Runscope is a service specifically designed for APIs that assists developers with automated testing and traffic inspection.

  • Apiary provides a blueprint for creating APIs so they are easier to test and generate clean documentation.

API Integration Resources

API integration learning checklist

  1. Pick an API known for top notch documentation. Here's a list of ten APIs that are a good starting point for beginners.

  2. Read the API documentation for your chosen API. Figure out a simple use case for how your application could be improved by using that API.

  3. Before you start writing any code, play around with the API through the commandline with cURL or in the browser with Postman. This exercise will help you get a better understanding of API authentication and the data required for requests and responses.

  4. Evaluate whether to use a helper library or work with Requests. Helper libraries are usually easier to get started with while Requests gives you more control over the HTTP calls.

  5. Move your API calls into a task queue so they do not block the HTTP request-response cycle for your web application.

What's next after integrating web APIs into your project?

How do I create an API for my web application?

How do I log errors that occur in my application?

What can I do to mitigate security vulnerability in my web app?

Sign up here to receive a monthly email with major updates to this site, tutorials and discount codes for Python books.