I agree that IP geolocation is a good approximation. It is never accurate up to street level.
Meanwhile, there is API to detect VPN, so that we can aware that the geolocation is good up to the server physical location.
Meanwhile, there is API to detect VPN, so that we can aware that the geolocation is good up to the server physical location.