Geolocation
WebScrapingAPI allows you to scrape any website without exposing your location. Furthermore, you can now scrape the web from different geographical positions.
WebScrapingAPI allows you to send the request from different countries, by passing the country parameter to your request. To target any country simply pass the 2-letter ISO code of that country. For example, if you want the targeted website to receive your request from an IP address located in Germany, you just need to pass the country=de parameter to your request.
When scraping Google, we use the gl parameter from the Google URL to select the proxy country. Please note that the country parameter of the API URL and the gl parameter of the Google URL are mutually exclusive. You should use only one of these parameters in your requests, as they cannot be combined.
You can target a specific city within a country by adding the city parameter. The city parameter's value must be in lowercase only and have no spaces, for example, to make a request from Vila Real in Portugal you would use city=vilareal
You can target a specific ASN from the list of ASNs using the asn parameter, for example asn=15169
Geolocation Integration Examples
curl --request GET --url "https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https://httpbin.org/get&country=au&city=Brisbane&asn=4764"const http = require("https");
const options = {
"method": "GET",
"hostname": "api.webscrapingapi.com",
"port": null,
"path": "/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764",
"headers": {}
};
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();import requests
API_KEY = '<YOUR_API_KEY>'
SCRAPER_URL = 'https://api.webscrapingapi.com/v2'
TARGET_URL = 'https://httpbin.org/'
PARAMS = {
"api_key":API_KEY,
"url": TARGET_URL,
"country":'au',
"city": 'Brisbane',
"asn": 4764,
}
response = requests.get(SCRAPER_URL, params=PARAMS)
print(response)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764",
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;
}package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764"
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))
}HttpResponse<String> response = Unirest.get("https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764")
.asString();var client = new RestClient("https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.webscrapingapi.com/v2?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fget&country=au&city=Brisbane&asn=4764")
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_bodyImportant! The url parameter has to be encoded.
( i.e. &url=https%3A%2F%2Fwww.webscrapingapi.com%2F )
Last updated