What is an API?
An application programming interface (API) is a protocol intended to be used as an interface by software components to communicate with each other. It’s basically a set of programming instructions and standards for accessing a Web-based software application or Web tool. A software company (like Amazon, Google etc) releases its API to the public so that other software developers can design products that are powered by its service. For a more extended explanation on API, read this excellent article from howstuffworks.com.
Interact with an API using JSON
It is important to know that an API is a software-to-software interface, not a user interface. With APIs, applications talk to each other without any user knowledge or intervention. When we want to interact with an API in Python (like accessing web services), we get the responses in a form called JSON. To interact with JSON, we can use the json and simplejson modules. JSON (JavaScript Object Notation) is a compact, text based format for computers to exchange data and is once loaded into Python just like a dictionary. JSON data structures map directly to Python data types, which makes this a powerful tool for directly accessing data without having to write any XML parsing code.
How do I do this?
Let’s show how we can do this by using Twittes API. The first thing you have to do, is to find an URL to call the API. The next step is to import the modules that we need.
import json
import urllib2
# open the url and the screen name
# (The screen name is the screen name of the user for whom to return results for)
url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=python"
# this takes a python object and dumps it to a string which is a JSON
# representation of that object
data = json.load(urllib2.urlopen(url))
# print the result
print data
More Examples
Sources
http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm
Recommended Python Training
Course: Python 3 For Beginners
Over 15 hours of video content with guided instruction for beginners. Learn how to create real world applications and master the basics.