Custom Headers
Browser API allows you to add your own headers to a request and get customised results.
Custom HTTP headers are useful when you want to provide additional information to your request. If your request requires passing custom HTTP headers, all you have to do is to append WSA- to your header's name and add them to your request.
For example, the Sec-Fetch-Dest: document header will be passed as WSA-Sec-Fetch-Dest: document.
Only use this feature to get customized results, do not use this feature to avoid blocks. Browser API has a powerful internal engine that takes care of everything for you.
Only the following headers can be overwritten:
- accept
- accept-encoding
- accept-language
- cache-control
- connection
- content-type
- dnt
- origin
- referer
- save-data
- sec-ch-ua
- sec-ch-ua-mobile
- sec-ch-ua-platform
- sec-fetch-dest
- sec-fetch-mode
- sec-fetch-site
- sec-fetch-user
- sentry-trace
- upgrade-insecure-requests
- user-agent x-amzn-trace-id
- x-forwarded-port
- x-i18n-language
- x-lpm-session
- x-requested-with
- x-unique-id
Additional headers may be added per domain by contacting our support.
Custom Headers Integration Examples
curl --request GET --url "https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fheaders" --header "wsa-x-unique-id: unique"const response = await fetch("https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fheaders", {
method: "GET",
headers: {
"wsa-x-unique-id": "unique",
}
});
const data = await response.text();
console.log(data);import requests
API_KEY = '<YOUR_API_KEY>'
SCRAPER_URL = 'https://api.webscrapingapi.com/v1'
TARGET_URL = 'https://httpbin.org/headers'
HEADERS = {
'wsa-x-unique-id': "unique",
}
PARAMS = {
"api_key":API_KEY,
"url": TARGET_URL,}
response = requests.get(SCRAPER_URL, params=PARAMS, headers=HEADERS)
print(response.text)<?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%2Fheaders",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"wsa-x-unique-id": "unique"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}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%2Fhttpbin.org%2Fheaders"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("wsa-x-unique-id", "unique")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fheaders")
.header("wsa-x-unique-id", "unique")
.asString();var client = new RestClient("https://api.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&url=http%3A%2F%2Fhttpbin.org%2Fheaders");
var request = new RestRequest(Method.GET);
request.AddHeader("wsa-x-unique-id", "unique");
IRestResponse response = client.Execute(request);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%2Fheaders")
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)
request["wsa-x-unique-id"] = 'unique'
response = http.request(request)
puts response.read_bodyImportant! The url parameter has to be encoded. (i.e. &url=https%3A%2F%2Fwww.webscrapingapi.com%2F)