Geolocalization is possible from a remote client IP such as the X_REAL_IP IP of HTTP
By providing an Ip address, you can get this kind of information
"geoip": {
"timezone" : "Europe/Moscow",
"ip" : "83.149.9.216",
"latitude" : 55.7485,
"longitude" : 37.6184
"continent_code" : "EU",
"city_name" : "Moscow",
"country_name" : "Russia",
"country_code2" : "RU",
"country_code3" : "RU",
"region_name" : "Moscow",
"postal_code" : "101194",
"region_code" : "MOW"
}
A number of companies provide geolocation services, including 1)
A browser may deliver the gelocation.
Example: Fake the location for the geolocation API used by the browsers with pupetteer