How to Pass JSON Data in a URL using CURL in PHP ?
Last Updated :
26 Apr, 2025
In this article, we will see how to pass the JSON Data in a URL using CURL in PHP, along with understanding the different ways for passing the data in a URL through the illustrations. The cURL stands for client URL, which allows us to connect with other URLs & use their responses in our code, i.e., it is a tool for sending and getting files using URL syntax. The cURL facilitates the way that can hit a URL from our code to get an HTML response from it. The cURL is also used in command lines or scripts for data transfer. Here, we need to pass JSON data in a URL using cURL in PHP and handle the POST request. This task can be accomplished with the help of the following ways:
- cURL POST Request
- cURL GET Request
- cURL PUT Request
We will explore all the above approaches & understand them through examples.
Syntax for passing JSON data in a URL using cURL:
<?php
$url = "https://reqres.in/api/users";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$resp = curl_exec($ch);
curl_close($ch);
?>
- By using the cURL POST Request
Approach for POST Request:
- We need to specify the URL, where the JSON data need to be sent.
- Using curl_init(), we initialize cURL.
- Put JSON data in a PHP array and set up JSON data.
- And using json_encode() encode it into JSON string.
- Setting the options for the cURL.
- Fetching $url using CURLOPT_URL.
- Switching request type from get to post using CURLOPT_POST.
- Now attach the encoded string in the post field using CURLOPT_POSTFIELDS.
- Setting the curl option RETURNTRANSFER to true so that it returns the response instead of just outputting it.
- Using the CURLOPT_HTTPHEADER set the Content-Type to application/JSON.
- Setting multiple options for a cURL session. Using the curl_setopt_array() function, setting a large number of options for cURL without repetitively calling it.
- Using curl_exec() to execute the POST request.
- Decode the response and Return the response as a string.
- Close the cURL.
Example 1: This example illustrates passing the JSON Data in a URL using cURL in PHP by using the cURL POST Request.
PHP
<?php
$ch = curl_init();
$data = array (
'Employee' => 'Aman' ,
'Job' => 'Data Scientist' ,
'Company' => '<b>GeeksForGeeks</b>'
);
$new_data = json_encode( $data );
$array_options = array (
CURLOPT_URL=> $url ,
CURLOPT_POST=>true,
CURLOPT_POSTFIELDS=> $new_data ,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_HTTPHEADER=> array ( 'Content-Type:application/json' )
);
curl_setopt_array( $ch , $array_options );
$resp = curl_exec( $ch );
$final_decoded_data = json_decode( $resp );
foreach ( $final_decoded_data as $key => $val ){
echo $key . ': ' . $val . '<br>' ;
}
curl_close( $ch );
?>
|
Output:
Employee: Aman
Job: Data Scientist
Company: GeeksForGeeks
id: 553
createdAt: 2022-12-02T12:32:42.420Z
- By using cURL GET Request
Approach for GET Request:
- We need to specify the URL, Where the JSON data is going to be sent.
- Using curl_init() we initialize cURL.
- Next, we have to set options for the cURL.
- Fetching $url using CURLOPT_URL.
- Setting the curl option RETURNTRANSFER to true so that it returns the response instead of just outputting it.
- Setting multiple options for a cURL session. Using the curl_setopt_array() function, setting a large number of options for cURL without repetitively calling it.
- Using curl_exec() to execute the GET request.
- Decode the response and Return the response as a string.
- Close the cURL.
Example 2: This example illustrates passing the JSON Data in a URL using cURL in PHP by using the cURL GET Request.
PHP
<?php
$ch = curl_init();
$array_options = array (
CURLOPT_URL=> $url ,
CURLOPT_RETURNTRANSFER=>true,
);
curl_setopt_array( $ch , $array_options );
$resp = curl_exec( $ch );
$final_decoded_data = json_decode( $resp ,true);
print_r( $final_decoded_data );
curl_close( $ch );
?>
|
Output:
Array ( [page] => 2 [per_page] => 6 [total] => 12 [total_pages] => 2 [data] =>
Array ( [0] => Array ( [id] => 7 [email] => [email protected] [first_name] =>
Michael [last_name] => Lawson [avatar] => https://reqres.in/img/faces/7-image.jpg )
[1] => Array ( [id] => 8 [email] => [email protected] [first_name] =>
Lindsay [last_name] => Ferguson [avatar] => https://reqres.in/img/faces/8-image.jpg )
[2] => Array ( [id] => 9 [email] => [email protected] [first_name] =>
Tobias [last_name] => Funke [avatar] => https://reqres.in/img/faces/9-image.jpg )
[3] => Array ( [id] => 10 [email] => [email protected] [first_name] => Byron [last_name] =>
Fields [avatar] => https://reqres.in/img/faces/10-image.jpg )
[4] => Array ( [id] => 11 [email] => [email protected] [first_name] => George [last_name] =>
Edwards [avatar] => https://reqres.in/img/faces/11-image.jpg )
[5] =>Array ( [id] => 12 [email] => [email protected] [first_name] => Rachel [last_name] =>
Howell [avatar] => https://reqres.in/img/faces/12-image.jpg ) ) [support] =>
Array ( [url] => https://reqres.in/#support-heading => To keep ReqRes free,
contributions towards server costs are appreciated! ) )
- By using cURL PUT Request
Approach for PUT Request:
- We need to specify the URL, where the JSON data need to be sent.
- Using curl_init(), we initialize cURL.
- Put JSON data in a PHP array and set up JSON data.
- And using json_encode() encode it into JSON string.
- Setting the options for the cURL.
- Fetching $url using CURLOPT_URL.
- Now attach the encoded string in the post field using CURLOPT_POSTFIELDS.
- Setting the curl option RETURNTRANSFER to true so that it returns the response instead of just outputting it.
- Using the CURLOPT_HTTPHEADER set the Content-Type to application/JSON.
- Instead of using CURLOPT_POST, we use here CURLOPT_CUSTOMREQUEST for specifying the PUT request.
- Setting multiple options for a cURL session. Using the curl_setopt_array() function, setting a large number of options for cURL without repetitively calling it.
- Using curl_exec() to execute the PUT request.
- Decode the response and Return the response as a string.
- Close the curl.
Example 3: This example illustrates passing the JSON Data in a URL using cURL in PHP by using the cURL PUT Request.
PHP
<?php
$ch = curl_init();
$data = array (
'Employee' => 'Aman' ,
'Job' => 'Data Scientist' ,
'Company' => '<b>GeeksForGeeks</b>'
);
$new_data = json_encode( $data );
$array_options = array (
CURLOPT_URL=> $url ,
CURLOPT_POSTFIELDS=> $new_data ,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_HTTPHEADER=> array ( 'Content-Type:application/json' )
);
curl_setopt( $ch , CURLOPT_CUSTOMREQUEST, 'PUT' );
curl_setopt_array( $ch , $array_options );
$resp = curl_exec( $ch );
$decoded = json_decode( $resp );
foreach ( $decoded as $key => $val ){
echo $key . ': ' . $val . '<br>' ;
}
curl_close( $ch );
?>
|
Output:
Employee: Aman
Job: Data Scientist
Company: GeeksForGeeks
updatedAt: 2022-12-02T12:34:59.262Z
Similar Reads
How to Post JSON Data using Curl ?
One can send the post data using curl (Client for URLs), a command line tool, and a library for transferring data with URLs. It supports various types of protocols. Most of the use cases of the curl command are posting JSON data to a server endpoint. CURLcURL stands for ( Client for URLs) and is a c
3 min read
How to Insert JSON data into MySQL database using PHP?
To insert JSON data into MySQL database using PHP, use the json_decode function in PHP to convert JSON object into an array that can be inserted into the database. Here, we are going to see how to insert JSON data into MySQL database using PHP through the XAMPP server in a step-by-step way. JSON Str
3 min read
How to use cURL to Get JSON Data and Decode JSON Data in PHP ?
In this article, we are going to see how to use cURL to Get JSON data and Decode JSON data in PHP. cURL: It stands for Client URL.It is a command line tool for sending and getting files using URL syntax.cURL allows communicating with other servers using HTTP, FTP, Telnet, and more.Approach: We are g
2 min read
How to parse a JSON File in PHP?
We will explore how to parse a JSON file and display its data using PHP. PHP is a server-side scripting language commonly used to process and manipulate data. JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for both humans and machines to read and write. It st
3 min read
How to pass multiple JSON Objects as data using jQuery's $.ajax() ?
The purpose of this article is to pass multiple JSON objects as data using the jQuery $ajax() method in an HTML document. Approach: Create a button in an HTML document to send JSON objects to a PHP server. In the JavaScript file, add a click event listener to the button. On clicking of the button, a
3 min read
How to make a JSON call using jQuery ?
Use the getJSON() function in jQuery to load JSON data. The getJSON() function uses a GET HTTP request to retrieve JSON-encoded data from the server. In this article, we will learn about the jQuery getJSON() function and its implementation through examples. Syntax: $(selector).getJSON(url, data, suc
3 min read
How to Update Data in API using Volley in Android?
Prerequisite: JSON Parsing in Android using Volley LibraryHow to Post Data to API using Volley in Android? We have seen reading data from API as well as posting data to our database with the help of the API. In this article, we will take a look at updating our data in our API. We will be using the V
5 min read
How to Parse JSON Data in JavaScript?
To parse JSON data in JavaScript, you can use the JSON.parse() method. This method converts a JSON string into a JavaScript object, making it easier to work with the data. 1. Parse Simple JSON Strings[GFGTABS] JavaScript //Driver Code Starts{ const jsonS = '{"name": "Rahul",
2 min read
How to Parse Data From JSON into Python?
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write for machines to parse and generate. Basically it is used to represent data in a specified format to access and work with data easily. Here we will learn, how to create and parse data f
2 min read
How to get cookies from curl into a variable in PHP ?
The cURL standing for Client URL refers to a library for transferring data using various protocols supporting cookies, HTTP, FTP, IMAP, POP3, HTTPS (with SSL Certification), etc. This example will illustrate how to get cookies from a PHP cURL into a variable. The functions provide an option to set a
2 min read