At Statsig we wanted something Open Source, as simple as possible, in pure html/js, and that could be hosted/updated entirely via GitHub's infra. We also want the ability to do more frequent updates from our own VMs (more than once every ~30 min, the GH Actions limit). None of those options fit these requirements, so we've built our own page.
It's using IP2Location Lite (it's the only offering we found that had a lax enough license while still being accurate). They have an accuracy report here that measures it at 99%+: https://www.ip2location.com/data-accuracy
There's also this third party report which measures 80% overall accuracy, but likely higher practical accuracy (eg accuracy in the US/Europe is much higher than 80% and most of your customers might be there): https://www.cl.cam.ac.uk/~nz247/publications/JSAC2011-Geoloc...
At Statsig we wanted something Open Source, as simple as possible, in pure html/js, and that could be hosted/updated entirely via GitHub's infra. We also want the ability to do more frequent updates from our own VMs (more than once every ~30 min, the GH Actions limit). None of those options fit these requirements, so we've built our own page.
Hope it's useful to someone else!