$ curl https://echoip.dsteiner.ch
216.73.216.84
$ http -b https://echoip.dsteiner.ch
216.73.216.84
$ wget -qO- https://echoip.dsteiner.ch
216.73.216.84
$ fetch -qo- https://https://echoip.dsteiner.ch
216.73.216.84
$ bat -print=b https://echoip.dsteiner.ch/ip
216.73.216.84
$ http https://echoip.dsteiner.ch/country
United States
$ http https://echoip.dsteiner.ch/country-iso
US
$ http https://echoip.dsteiner.ch/city
Columbus
$ http https://echoip.dsteiner.ch/json
{
"ip": "216.73.216.84",
"ip_decimal": 3628718164,
"country": "United States",
"country_eu": false,
"country_iso": "US",
"city": "Columbus",
"latitude": 39.9625,
"longitude": -83.0061
}
Setting the Accept: application/json header also works as expected.
Always returns the IP address including a trailing newline, regardless of user agent.
$ http https://echoip.dsteiner.ch/ip
216.73.216.84
$ http https://echoip.dsteiner.ch/port/443
{
"ip": "216.73.216.84",
"port": 443,
"reachable": false
}
As of 2018-07-25 it's no longer possible to force protocol using
the v4 and v6 subdomains. IPv4 or IPv6 still can be forced
by passing the appropiate flag to your client, e.g curl -4
or curl -6.
Yes, as long as the rate limit is respected. The rate limit is in place to ensure a fair service for all.
Please limit automated requests to 1 request per minute. No guarantee is made for requests that exceed this limit. They may be rate-limited, with a 429 status code, or dropped entirely.
Yes, the source code and documentation is available on GitHub.