A Comprehensive Guide to Python’s Requests Library

Elshad Karimov
2 min readApr 1, 2023

Python’s Requests library is a powerful and user-friendly tool for making HTTP requests to web services and APIs. In this post, we will explore the essential features of the Requests library, complete with examples and explanations to help you get started. Let’s dive in!

  1. Installation: To install the Requests library, simply run the following command in your terminal or command prompt:
pip install requests

2. Making a GET Request: A GET request is used to retrieve information from a web server. Here’s a basic example:

import requests

response = requests.get('https://api.example.com/data')
print(response.text)

3. Query Parameters: You can add query parameters to your GET request by using the ‘params’ argument:p

import requests

payload = {'key': 'value', 'key2': 'value2'}
response = requests.get('https://api.example.com/data', params=payload)
print(response.url)
print(response.text)

4. Making a POST Request: A POST request is used to send data to a web server. Here’s an example:

import requests

data = {'name': 'John', 'age': 30}
response = requests.post('https://api.example.com/data', data=data)
print(response.status_code)
print(response.text)

5. Handling JSON Data: Use the ‘json()’ method to easily parse JSON data returned by an API:

import requests

response = requests.get('https://api.example.com/data')
json_data = response.json()
print(json_data)

6. Custom Headers: To include custom headers in your request, use the ‘headers’ argument:

import requests

headers = {'User-Agent': 'my-app'}
response = requests.get('https://api.example.com/data', headers=headers)
print(response.request.headers)

7. Handling Errors and Exceptions: It’s important to handle errors and exceptions when making requests. Here’s an example:

import requests
from requests.exceptions import RequestException

url = 'https://api.example.com/data'

try:
response = requests.get(url)
response.raise_for_status()
except RequestException as e:
print(f"An error occurred: {e}")
else:
print(response.text)

8. Timeout: You can set a timeout for your requests to prevent them from hanging indefinitely:

import requests

response = requests.get('https://api.example.com/data', timeout=5)
print(response.text)

In this post, we’ve covered the essential features of Python’s Requests library. Armed with this knowledge, you can now build powerful web applications and interact with APIs more effectively. Happy coding!

--

--

Elshad Karimov

Software Engineer, Udemy Instructor and Book Author, Founder at AppMillers