What is my IP address?

10.1.61.63

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

All endpoints (except /port) can return information about a custom IP address specified via ?ip= query parameter.

CLI examples

$ curl ipka.sk
10.1.61.63

$ http -b ipka.sk
10.1.61.63

$ ht -b ipka.sk
10.1.61.63

$ wget -qO- ipka.sk
10.1.61.63

$ fetch -qo- http://ipka.sk
10.1.61.63

$ bat -print=b ipka.sk/ip
10.1.61.63

JSON output

$ http ipka.sk/json
{
  "ip": "10.1.61.63",
  "ip_decimal": 167853375,
  "country_eu": false,
  "user_agent": {
    "product": "Mozilla",
    "version": "5.0",
    "comment": "AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)",
    "raw_value": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.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 ipka.sk/ip
10.1.61.63

Port testing

$ http ipka.sk/port/8080
{
  "ip": "10.1.61.63",
  "port": 8080,
  "reachable": false
}

FAQ

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.

Is automated use of this service permitted?

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.

Can I run my own service?

Yes, the source code and documentation is available on GitHub.