What is my IP address?

Multiple command line HTTP clients are supported, including curl, httpie, GNU Wget and fetch.

CLI examples

$ curl www.butt.works

$ http -b www.butt.works

$ wget -qO- www.butt.works

$ fetch -qo- https://www.butt.works

$ bat -print=b www.butt.works/ip

JSON output

$ http www.butt.works/json
  "ip": "",
  "ip_decimal": 2886926443,
  "country_eu": false,
  "hostname": "web01.kc.linuxrocker.com"

Setting the Accept: application/json header also works as expected.

Plain output

Always returns the IP address including a trailing newline, regardless of user agent.

$ http www.butt.works/ip

Port testing

$ http www.butt.works/port/8080
  "ip": "",
  "port": 8080,
  "reachable": false


How do I force IPv4 or IPv6 lookup?

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.