IPGeolocationAPI.com provides a JSON API for geolocating website visitors or geolocating IPv4/IPv6 addresses. The returned JSON response contains detailed information about the geolocated country details like ISO 3166 (countries and states/subdivisions ), ISO 4217 (currency), and E.164 (phone numbers).
The service also has a self-configuring "Deploy to Heroku" button so the API can be self-hosted by anyone.
The service has been tested to handle thousands of asynchronous requests and coded in Python. Fully open source and MIT licensed.
https://github.com/madisvain/geolocationapi
Fixer.io Github page has a deprecation warning "The old, deprecated Fixer API will be discontinued on June 1st, 2018".
Exchangeratesapi.io provides a compatible free service with HTTPS and CORS support and is also open source.