Geo Request API Reference
Perform an HTTP request to a URL from multiple geographic locations (such as Canada and Germany) and get the response details for each country.
Service details and pricing: Geo Request API
Request example
Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):
curl -X POST "https://api.apivoid.com/v2/geo-request" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{"url": "https://www.yahoo.com/"}'The same request in PHP:
$url = 'https://www.yahoo.com/';
$apiKey = 'YOUR_API_KEY_HERE';
$curl = curl_init('https://api.apivoid.com/v2/geo-request');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'X-API-Key: ' . $apiKey]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['url' => $url]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
$responseData = json_decode($response, true);
print_r($responseData);
} else {
print_r('An error occurred: '.$response);
}Request parameters
Required
URL to submit, e.g. https://www.yahoo.com/.
⚠ Government and educational domains are blocked.
Optional
Set to true to use IPv6 for web requests.
Response example
A successful request returns HTTP 200 with a JSON body:
{
"url": "https://www.yahoo.com/",
"locations": [
{
"continent_code": "NA",
"continent_name": "North America",
"country_code": "CA",
"country_name": "Canada",
"city_name": "Toronto",
"request_output": {
"status_code": 302,
"status_message": "302 Found",
"response_headers": {
"age": [
"0"
],
"cache-control": [
"no-store"
],
"connection": [
"keep-alive"
],
"content-language": [
"en"
],
"content-length": [
"17"
],
"content-security-policy": [
"frame-ancestors 'self' https://*.builtbygirls.com https://*.rivals.com https://*.engadget.com https://*.intheknow.com https://*.autoblog.com https://*.techcrunch.com https://*.yahoo.com https://*.aol.com https://*.huffingtonpost.com https://*.oath.com https://*.search.yahoo.com https://*.pnr.ouryahoo.com https://pnr.ouryahoo.com https://*.search.aol.com https://*.search.huffpost.com https://*.onesearch.com https://*.verizonmedia.com https://*.publishing.oath.com https://*.autoblog.com; sandbox allow-forms allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-presentation; report-uri https://csp.yahoo.com/beacon/csp?src=ats&site=frontpage®ion=US&lang=en-US&device=desktop&yrid=2a1aachkl2j7m&partner=;"
],
"content-type": [
"text/html"
],
"date": [
"Sun, 28 Dec 2025 15:29:58 GMT"
],
"location": [
"https://ca.yahoo.com/?p=us"
],
"referrer-policy": [
"no-referrer-when-downgrade"
],
"server": [
"ATS"
],
"set-cookie": [
"RRC=st=1766935798.3485&cnt=1; expires=Sun, 28-Dec-2025 15:30:28 GMT; path=/; domain=.www.yahoo.com; HttpOnly"
],
"strict-transport-security": [
"max-age=31536000"
],
"x-content-type-options": [
"nosniff"
],
"x-frame-options": [
"SAMEORIGIN"
],
"x-xss-protection": [
"1; mode=block"
]
},
"redirects_to": "https://ca.yahoo.com/?p=us",
"timings": {
"dns_ms": 2,
"connect_ms": 6,
"tls_ms": 6,
"ttfb_ms": 37,
"total_ms": 52
},
"remote_addr": "66.218.84.42",
"network": "tcp4",
"http_version": "HTTP/1.1",
"tls_version": "TLS1.3",
"cipher_suite": "TLS_AES_128_GCM_SHA256",
"error_message": "",
"elapsed_ms": 91
},
"error": ""
},
{
"continent_code": "EU",
"continent_name": "Europe",
"country_code": "DE",
"country_name": "Germany",
"city_name": "Frankfurt",
"request_output": {
"status_code": 302,
"status_message": "302 Found",
"response_headers": {
"age": [
"0"
],
"cache-control": [
"no-store"
],
"connection": [
"keep-alive"
],
"content-language": [
"en"
],
"content-length": [
"17"
],
"content-security-policy": [
"frame-ancestors 'self' https://*.builtbygirls.com https://*.rivals.com https://*.engadget.com https://*.intheknow.com https://*.autoblog.com https://*.techcrunch.com https://*.yahoo.com https://*.aol.com https://*.huffingtonpost.com https://*.oath.com https://*.search.yahoo.com https://*.pnr.ouryahoo.com https://pnr.ouryahoo.com https://*.search.aol.com https://*.search.huffpost.com https://*.onesearch.com https://*.verizonmedia.com https://*.publishing.oath.com https://*.autoblog.com; sandbox allow-forms allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-presentation; report-uri https://csp.yahoo.com/beacon/csp?src=ats&site=frontpage®ion=US&lang=en-US&device=desktop&yrid=39iu909kl2j7m&partner=;"
],
"content-type": [
"text/html"
],
"date": [
"Sun, 28 Dec 2025 15:29:58 GMT"
],
"location": [
"https://de.yahoo.com/?p=us"
],
"referrer-policy": [
"no-referrer-when-downgrade"
],
"server": [
"ATS"
],
"set-cookie": [
"RRC=st=1766935798.5121&cnt=1; expires=Sun, 28-Dec-2025 15:30:28 GMT; path=/; domain=.www.yahoo.com; HttpOnly"
],
"strict-transport-security": [
"max-age=31536000"
],
"x-content-type-options": [
"nosniff"
],
"x-frame-options": [
"SAMEORIGIN"
],
"x-xss-protection": [
"1; mode=block"
]
},
"redirects_to": "https://de.yahoo.com/?p=us",
"timings": {
"dns_ms": 6,
"connect_ms": 1,
"tls_ms": 8,
"ttfb_ms": 89,
"total_ms": 100
},
"remote_addr": "87.248.119.252",
"network": "tcp4",
"http_version": "HTTP/1.1",
"tls_version": "TLS1.3",
"cipher_suite": "TLS_AES_128_GCM_SHA256",
"error_message": "",
"elapsed_ms": 100
},
"error": ""
},
...
],
"elapsed_ms": 1223
}Response fields
The fields returned in the JSON response:
urlstring
URL submitted for the geo request.
locationsarray
List of geographic locations with the HTTP request output from each location.
locations[n] → continent_codestring
Continent code (e.g. NA) of the requesting location.
locations[n] → continent_namestring
Continent name of the requesting location.
locations[n] → country_codestring
Country code (e.g. US) of the requesting location.
locations[n] → country_namestring
Country name of the requesting location.
locations[n] → city_namestring
City name of the requesting location.
locations[n] → request_output → status_codeinteger
HTTP status code returned by the server.
locations[n] → request_output → status_messagestring
HTTP status message returned by the server, e.g. 302 Found.
locations[n] → request_output → response_headersobject
HTTP response headers returned by the server, keyed by lowercase header name.
locations[n] → request_output → redirects_tostring
URL the server redirects to, if any.
locations[n] → request_output → timings → dns_msinteger
Time spent on DNS resolution in milliseconds.
locations[n] → request_output → timings → connect_msinteger
Time spent on TCP connection in milliseconds.
locations[n] → request_output → timings → tls_msinteger
Time spent on TLS handshake in milliseconds.
locations[n] → request_output → timings → ttfb_msinteger
Time to first byte in milliseconds.
locations[n] → request_output → timings → total_msinteger
Total request time in milliseconds.
locations[n] → request_output → remote_addrstring
IP address of the server that handled the request.
locations[n] → request_output → networkstring
Network protocol used for the connection, e.g. tcp.
locations[n] → request_output → http_versionstring
HTTP version used for the request, e.g. HTTP/2.0.
locations[n] → request_output → tls_versionstring
TLS version used for the connection, e.g. TLS 1.3.
locations[n] → request_output → cipher_suitestring
TLS cipher suite used for the connection.
locations[n] → request_output → elapsed_msinteger
Time taken by the request from this location, in milliseconds.
locations[n] → request_output → error_messagestring
Error message if the request from this location failed.
locations[n] → errorstring
Error message if the check from this location could not be performed.
elapsed_msinteger
Time taken to process the request, in milliseconds.