------------------------------------------------------------------------ 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