Custom Headers

If you would like to use your own custom headers (user agents, cookies, etc.) when making a request to the website, simply set keep_headers=true and send the API the headers you want to use. The API will then use these headers when sending requests to the website.

Note: Only use this feature if you need to send custom headers to retrieve specific results from the website. Within the API we have a sophisticated header management system designed to increase success rates and performance on difficult sites. When you send your own custom headers you override our header system, which oftentimes lowers your success rates. Unless you absolutely need to send custom headers to get the data you need, we advise that you donโ€™t use this functionality.

If you need to get results for mobile devices, use the device_type parameter to set the user-agent header for your request, instead of setting your own.


require 'net/http'
require 'json'
params = {
:api_key => "APIKEY",
:url => "",
:keep_headers => true
uri = URI('')
uri.query = URI.encode_www_form(params)
req =
req['Accept'] = 'application/json'
req['X-MyHeader'] = '123'
website_content = Net::HTTP.start(uri.hostname, uri.port) {|http|

require 'httparty'
HTTParty::Basement.default_options.update(verify: false)
headers = {'Accept': 'application/json', 'X-MyHeader': '123'}
response = HTTParty.get('', {
  http_proxyaddr: "",
  http_proxyport: "8001",
  http_proxyuser: "scraperapi.keep_headers=true",
  http_proxypass: "APIKEY",
  headers: headers
}, )
results = response.body
puts results 
  • SDK Method

# remember to install the library: gem install scraperapi
require "scraper_api"
client ="APIKEY")
result = client.get("", headers: {"X-MyHeader" => "123"}).raw_body
puts result

Last updated