Custom cookies are an extremely powerful feature of BrowserAPI. For example, they can be successfully used to scrape personalized content on a e-commerce site.
Additional cookies may be added per domain by contacting our support.
When using JavaScript rendering, custom cookies should be passed in a list in the cookies
parameter. Each cookie object will have 3 properties: name, value and domain. Here is an example:
Copy [{ "name" : "CUSTOMER_CONTEXT" , "value" : "{\"customerId\":\"12345\"}" , "domain" : "httpbin.org" }]
Copy %5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D
cURL NodeJS Python PHP Go Java .NET Ruby
Copy curl --request GET --url "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D"
Copy const http = require ( "https" );
const options = {
"method" : "GET" ,
"hostname" : "api.webscrapingapi.com" ,
"port" : null ,
"path" : "v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D"
};
const req = http .request (options , function (res) {
const chunks = [];
res .on ( "data" , function (chunk) {
chunks .push (chunk);
});
res .on ( "end" , function () {
const body = Buffer .concat (chunks);
console .log ( body .toString ());
});
});
req .end ();
Copy import requests
API_KEY = '<YOUR_API_KEY>'
SCRAPER_URL = 'https://api.webscrapingapi.com/v1'
COOKIES = '%5B%7B%22name %22% 3A%22CUSTOMER_CONTEXT %22% 2C %20% 22value %22% 3A %22% 7B%5C %22c ustomerId%5C %22% 3A%5C %2212345% 5C %22% 7D %22% 2C %20% 22domain %22% 3A%22httpbin.org %22% 7D%5D'
TARGET_URL = 'https://httpbin.org/cookies'
PARAMS = {
"api_key" : API_KEY ,
"url" : TARGET_URL ,
"render_js" : 1 ,
"cookies" : COOKIES
}
response = requests . get (SCRAPER_URL, params = PARAMS, headers = HEADERS)
print (response.text)
Copy <? php
$curl = curl_init () ;
curl_setopt_array ( $curl , [
CURLOPT_URL => "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D" ,
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_ENCODING => "" ,
CURLOPT_MAXREDIRS => 10 ,
CURLOPT_TIMEOUT => 30 ,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1 ,
CURLOPT_CUSTOMREQUEST => "GET"
] ) ;
$response = curl_exec ( $curl ) ;
$err = curl_error ( $curl ) ;
curl_close ( $curl ) ;
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Copy package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main () {
url := "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A %2F%2F httpbin.org %2F cookies&cookies=%5B%7B%22name %22% 3A%22CUSTOMER_CONTEXT %22% 2C %20% 22value %22% 3A %22% 7B%5C %22c ustomerId%5C %22% 3A%5C %2212345% 5C %22% 7D %22% 2C %20% 22domain %22% 3A%22httpbin.org %22% 7D%5D"
req, _ := http. NewRequest ( "GET" , url, nil )
res, _ := http.DefaultClient. Do (req)
defer res.Body. Close ()
body, _ := ioutil. ReadAll (res.Body)
fmt. Println (res)
fmt. Println ( string (body))
}
Copy HttpResponse < String > response = Unirest . get ( "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D" )
. asString ();
Copy var client = new RestClient ( "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D" );
var request = new RestRequest ( Method . GET );
IRestResponse response = client . Execute (request);
Copy require 'uri'
require 'net/http'
require 'openssl'
url = URI ( "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fcookies&cookies=%5B%7B%22name%22%3A%22CUSTOMER_CONTEXT%22%2C%20%22value%22%3A%22%7B%5C%22customerId%5C%22%3A%5C%2212345%5C%22%7D%22%2C%20%22domain%22%3A%22httpbin.org%22%7D%5D" )
http = Net :: HTTP . new (url . host , url . port)
http . use_ssl = true
http . verify_mode = OpenSSL :: SSL :: VERIFY_NONE
request = Net :: HTTP :: Get . new (url)
response = http . request(request)
puts response . read_body