curl --request GET \
--url https://www.closient.com/brands/api/v1/public/geoimport requests
url = "https://www.closient.com/brands/api/v1/public/geo"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.closient.com/brands/api/v1/public/geo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.closient.com/brands/api/v1/public/geo",
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"
)
func main() {
url := "https://www.closient.com/brands/api/v1/public/geo"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.closient.com/brands/api/v1/public/geo")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.closient.com/brands/api/v1/public/geo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"city": "Vancouver",
"country": "CA",
"lat": 49.2827,
"lon": -123.1207,
"region": "BC"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}Approximate caller location
Returns the caller’s approximate location, derived server-side from the edge network’s view of the connection (Cloudflare CF-* visitor-location headers). Intended as the brand locator’s fallback when the browser’s navigator.geolocation permission is denied or times out, so the widget never has to hand the visitor’s IP to a third-party geolocation service. City-level accuracy at best. All fields are null when the edge did not supply a location — callers must handle that and fall back to asking the visitor for an address. No IP address is stored or returned. Public, unauthenticated, rate limited by IP. The response is private, no-store: it is derived from the caller’s own connection, so a shared cache in front of it would serve one visitor’s city to the next.
curl --request GET \
--url https://www.closient.com/brands/api/v1/public/geoimport requests
url = "https://www.closient.com/brands/api/v1/public/geo"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.closient.com/brands/api/v1/public/geo', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.closient.com/brands/api/v1/public/geo",
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"
)
func main() {
url := "https://www.closient.com/brands/api/v1/public/geo"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://www.closient.com/brands/api/v1/public/geo")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.closient.com/brands/api/v1/public/geo")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"city": "Vancouver",
"country": "CA",
"lat": 49.2827,
"lon": -123.1207,
"region": "BC"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}{
"detail": "The requested resource was not found.",
"error_code": "not_found",
"retryable": false,
"status": 404,
"timestamp": "2026-03-31T12:00:00+00:00",
"title": "Not Found",
"type": "https://closient.com/docs/errors/not_found"
}Response
OK
Approximate latitude of the caller in decimal degrees, WGS 84 / EPSG:4326, or null when unknown.
-90 <= x <= 90Approximate longitude of the caller in decimal degrees, WGS 84 / EPSG:4326, or null when unknown.
-180 <= x <= 180City name of the caller's network location, or null when unknown.
ISO 3166-2 region code (e.g. BC) of the caller's network location, or null.
ISO 3166-1 alpha-2 country code (e.g. CA) of the caller's network location, or null.