How to POST JSON data with cURL


To POST JSON data with cURL, you can use the following command:

curl -X POST -H “Content-Type: application/json” -d ‘{“key”:”value”}’

If you’re working with APIs, you might have to send JSON data to the server at some point. cURL is a powerful tool that allows you to interact with web services from the command line. In this tutorial, you will learn how to POST JSON data with cURL.

Before you start, make sure you have cURL installed on your system. If you’re on a Linux or macOS machine, it should already be installed. If you’re on a Windows machine, you can download it from the official website.

How to POST JSON data with cURL

By following the steps outlined in this tutorial, you can easily send JSON data with cURL and handle it on the server using your preferred server-side technology.

  • Step 1: Create your JSON data
  • Step 2: Use cURL to send JSON data
  • Step 3: Test the response

Step 1: Create your JSON data

Before you can send JSON data with cURL, you need to create the data want to send. JSON stands for JavaScript Object Notation and is a lightweight data-interchange format. It is easy to read and write for humans and easy to parse for machines. Here’s an example of a simple JSON object:

    "name": "John Doe",
    "age": 30,
    "email": "[email protected]"

Step 2: Use cURL to send JSON data

Once you have our JSON data, you can use cURL to send it to a server. To do this, need to use the -X POST option to tell cURL that want to make a POST request, and the -d option to specify the data want to send. Here’s an example:

curl -X POST \
     -H "Content-Type: application/json" \
     -d '{"name":"John Doe","age":30,"email":"[email protected]"}' \

Let’s break down this command:

  • curl: The cURL command.
  • -X POST: Specifies that we want to send a POST request.
  • -H "Content-Type: application/json": Sets the content type to JSON.
  • -d '{"name":"John Doe","email":"[email protected]","age":30}': Specifies the JSON data we want to send.
  • The URL we want to send the request to.

Note that the JSON data is enclosed in single quotes (') and that the property names and values are enclosed in double quotes (").

Step 3: Test the response

After you send the request, you should receive a response from the server. And can use cURL to display the response on the command line:


This command will display the response from the server. If everything worked correctly, we should see the JSON data that we sent to the server.


Sending JSON data with cURL is a straightforward process. You can create the JSON data we want to send, use cURL to send the request, and then test the response from the server. By following these steps, you can interact with web services and APIs from the command line.

Recommended Tutorials


Jaspreet Singh Ghuman

Jaspreet Singh Ghuman

Passionate Professional Blogger, Freelancer, WordPress Enthusiast, Digital Marketer, Web Developer, Server Operator, Networking Expert. Empowering online presence with diverse skills.

jassweb logo

Jassweb always keeps its services up-to-date with the latest trends in the market, providing its customers all over the world with high-end and easily extensible internet, intranet, and extranet products.


Jassweb, Rai Chak, Punjab, India. 143518
Item added to cart.
0 items - 0.00