------------------------------------------------------------------------
IP analytics: https://geo.ipify.org/
------------------------------------------------------------------------

Want to know your IP address? Undertake IP analytics of your "customers"?


$ curl "https://api.ipify.org"            #default is your own IP
108.81.247.231  

$ curl "https://api.ipify.org?format=json"   #output in json format
{"ip":"108.81.247.231"}

To do more than this, you need to sign up with https://geo.ipify.org
and get an account and API key.

$ curl "https://geo.ipify.org/api/v1?apiKey=APIKEY_XXX" | jq .
{
  "ip": "108.81.247.231",
  "location": {
    "country": "US",
    "region": "California",
    "city": "Irvine",
    "lat": 33.66946,
    "lng": -117.82311,
    "postalCode": "92602",
    "timezone": "-08:00",
    "geonameId": 5359777
  },
  "domains": [
    "108-81-247-231.lightspeed.irvnca.sbcglobal.net"
  ],
  "as": {
    "asn": 7018,
    "name": "AT&T US - 7018",
    "route": "108.64.0.0/11",
    "domain": "http://www.att.com",
    "type": "NSP"
  },
  "isp": "AT&T Services, Inc.",
  "proxy": {
    "proxy": false,
    "vpn": false,
    "tor": false
  }
}

$ curl "https://geo.ipify.org/api/v1?apiKey=APIKEY_XXX&ipAddress=8.8.8.8" | jq .
{
  "ip": "8.8.8.8",
  "location": {
    "country": "US",
    "region": "California",
    "city": "Mountain View",
    "lat": 37.38605,
    "lng": -122.08385,
    "postalCode": "94035",
    "timezone": "-08:00",
    "geonameId": 5375480
  },
  "domains": [
    "0--9.ru",
    "000.lyxhwy.xyz",
    "000180.top",
    "00049ok.com",
    "001998.com.he2.aqb.so"
  ],
  "as": {
    "asn": 15169,
    "name": "Google LLC",
    "route": "8.8.8.0/24",
    "domain": "https://about.google/intl/en/",
    "type": "Content"
  },
  "isp": "Google LLC",
  "proxy": {
    "proxy": false,
    "vpn": false,
    "tor": false
  }
}

Account balance:
	https://geo.ipify.org/service/account-balance?apiKey=YOUR_API_KEY

------------------------------------------------------------------------
Input parameters
------------------------------------------------------------------------
apiKey          Required.
ipAddress       Optional. IPv4 or IPv6 to search location by. 
		(default: client IP)
domain          Optional. Domain name to search location by. 
		(default: client IP)
email           Optional. Email address or domain name to search location 
		by it's MX servers.  (default: IP)
escapedUnicode  Optional.  1 - allows you to receive unescaped Unicode characters 
                in the API response (default is to escape as \uXXXX).
                Acceptable values: 0 | 1        Default: 0

------------------------------------------------------------------------
Appendix
------------------------------------------------------------------------
ip	 		Requested (for search by /'ipAddress'/) 
			or resolved (for search by /'domain'/ 
			or /'email'/) IP address.
location.country 	Two letters country code from ISO 3166.
location.region 	Region
location.city 		City
location.lat 		Latitude
location.lng 		Longitude
location.postalCode 	Postal Code
location.timezone	Timezone in the format "+10:00"
location.geonameId 	Id of location in the GeoNames database. 
			The field is omitted if the record is not found. 
as{} 			Autonomous System. It works for IPv4 only. 
			The field is omitted if the record is not found.
as.asn 			Autonomous System Number
as.name 		Autonomous System Name
as.route 		Autonomous System Route
as.domain 		Autonomous System Website's URL
as.type 		Autonomous System type, one of the following: 
			"Cable/DSL/ISP", "Content", "Educational/Research", 
			"Enterprise", "Non-Profit", 
			"Not Disclosed", "NSP", "Route Server". Empty when unknown.
isp 			Internet Service Provider
domains 		Array of domains associated with the IP. The field is omitted 
			if the record is not found.  This array is limited to 5 domains.
proxy.proxy 		The IP address is used as a proxy
proxy.vpn 		The IP address is a VPN endpoint
proxy.tor 		The IP address is a Tor endpoint