python requests post payload

Python Requests Post Payload

When working with APIs, we need to send data to the server. Python Requests is a popular library for making HTTP requests, including sending POST requests with a payload.

What is a Payload?

A payload is the data that is sent in the HTTP request body. It could be in the form of JSON, XML or any other format. When we send a POST request, we include the payload in the request body.

Sending POST Request using Python Requests Library

To send a POST request, we first need to install the Requests library. We can do this using pip:

pip install requests

Once we have the library installed, we can import it in our code:

import requests

We can then use the method to send a POST request:

response =, data={'key': 'value'})

Here, we pass the URL of the API endpoint as the first argument and the payload as a dictionary in the data parameter. The post() method returns a response object that contains the server's response.

Sending JSON Payload using Python Requests Library

If we want to send a JSON payload instead of form data, we can use the json parameter:

import json

payload = {'key': 'value'}
json_payload = json.dumps(payload)

response =, json=json_payload)

Here, we first convert the payload dictionary to a JSON string using the json.dumps() method. We then pass the JSON string as the value of the json parameter in the method.


In this tutorial, we learned how to send POST requests with payloads using the Python Requests library. We saw how to send form data and JSON payloads, and we learned that payloads are the data that is sent in the HTTP request body.