ipdata.co provides an API endpoint ( https://api.ipdata.co ) that provides such information (I am running this service)
Ipdata has 10 endpoints worldwide, each of which can handle> 800 million calls daily!
curl https://api.ipdata.co/70.70.70.70?api-key=test
This answer uses a βtestβ API key, which is very limited and designed only to test multiple calls. Register to receive your free API key and receive up to 1,500 development requests daily.
gives
{ "ip": "70.70.70.70", "is_eu": false, "city": "", "region": "", "region_code": "", "country_name": "Canada", "country_code": "CA", "continent_name": "North America", "continent_code": "NA", "latitude": 43.6319, "longitude": -79.3716, "asn": "AS6327", "organisation": "Shaw Communications Inc.", "postal": "", "calling_code": "1", "flag": "https://ipdata.co/flags/ca.png", "emoji_flag": "\ud83c\udde8\ud83c\udde6", "emoji_unicode": "U+1F1E8 U+1F1E6", "languages": [ { "name": "English", "native": "English" }, { "name": "French", "native": "Fran\u00e7ais" } ], "currency": { "name": "Canadian Dollar", "code": "CAD", "symbol": "CA$", "native": "$", "plural": "Canadian dollars" }, "time_zone": { "name": "", "abbr": "", "offset": "", "is_dst": "", "current_time": "" }, "threat": { "is_tor": false, "is_proxy": false, "is_anonymous": false, "is_known_attacker": false, "is_known_abuser": false, "is_threat": false, "is_bogon": false }, }