$ curl ip.t3st.uk 216.73.216.146 $ http -b ip.t3st.uk 216.73.216.146 $ wget -qO- ip.t3st.uk 216.73.216.146 $ fetch -qo- https://ip.t3st.uk 216.73.216.146 $ bat -print=b ip.t3st.uk/ip 216.73.216.146
$ http ip.t3st.uk/country United States $ http ip.t3st.uk/country-iso US
$ http ip.t3st.uk/city Panorama City
$ http ip.t3st.uk/json
{
"ip": "216.73.216.146",
"ip_decimal": 3628718226,
"country": "United States",
"country_eu": false,
"country_iso": "US",
"city": "Panorama City",
"latitude": 34.2278,
"longitude": -118.442,
"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.
Always returns the IP address including a trailing newline, regardless of user agent.
$ http ip.t3st.uk/ip 216.73.216.146
$ http ip.t3st.uk/port/8080
{
"ip": "216.73.216.146",
"port": 8080,
"reachable": false
}
IPv4 or IPv6 still can be forced by passing the appropiate flag to
your client, e.g curl -4 or curl -6. If you
cannot use command-line flags, such as with a Web Browser, use
v4.ip.n3t.uk or
v6.ip.n3t.uk as protocol-specific
endpoints.
Yes, as long as the rate limit is respected. The rate limit is in place to ensure a fair service for all, and although not currently enabled, this may be enabled at any time for any reason.
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.