Introduction to APIs in Python
Chris Ramakers
Engineering Manager
Requests package
import requests
HTTP methods
# Read a resource
requests.get('https://api.my-music.com')
# Create a resource
requests.post('https://api.my-music.com', data={...})
# Update a resource
requests.put('https://api.my-music.com', data={...})
# Delete a resource
requests.delete('https://api.my-music.com')
URL Parameters
query_params = {'artist': 'Deep Purple'}
requests.get('http://api.my-music.com', params=query_params)
Headers
headers = {'accept': 'application/json'}
response = requests.get('http://api.my-music.com', headers=headers)
print(response.headers.get('content-type'))
Status codes
response = requests.get('http://api.my-music.com')
print(response.status_code)
headers = {'Authorization':'Basic am9obkBleGF...'}
headers = {'Authorization': 'Bearer faaa1c9f4...'}
requests.get('https://api.my-music.com', headers={'accept': 'application/json'})
playlists = [{"Name":"My favorite songs"}, {"Name":"Road Trip"}]
requests.post('https://api.my-music.com/playlists/', json=playlists)
4XX
Client errors5XX
Server errorsresponse.status_code
raise_for_error()
import requests
from requests.exceptions import ConnectionError, HTTPError
try:
response = requests.get("http://api.music-catalog.com/albums")
response.raise_for_status()
except ConnectionError as conn_err:
print(f'Connection Error! {conn_err}.')
except HTTPError as http_err:
print(f'HTTP error occurred: {http_err}')
Introduction to APIs in Python