FOR YOUR TERMINAL · 4 MIN READ
Your Public IP. One Command.
No banner, no markup, no extra fields. A command-line request returns the source IP seen by IPTOOLBOX, followed by one newline.
curl
Just the domain. No parameters needed.
curl iptoolbox.infoThe bare command uses HTTP. Use HTTPS when you want an encrypted connection:
curl -fsS https://iptoolbox.infoA Stable Plain-text Path
/ip always returns plain text, including for browsers or clients with unusual user-agent headers.
curl -fsS https://iptoolbox.info/ipChoose IPv4 or IPv6
The selected family must be available on your network. A failed IPv6 request is not proof that your device has no IPv6 address.
curl -4 -fsS https://iptoolbox.info/ipcurl -6 -fsS https://iptoolbox.info/ipPowerShell
Use the native command and remove the response’s trailing newline when assigning a string.
(Invoke-RestMethod -Uri 'https://iptoolbox.info/ip').Trim()wget
wget -qO- https://iptoolbox.info/ipJSON
The existing JSON endpoint returns ip and numeric version. It does not include a subnet mask, location, or an address-assignment verdict.
curl -fsS https://iptoolbox.info/api/ip{"ip":"192.0.2.25","version":4}$connection = Invoke-RestMethod -Uri 'https://iptoolbox.info/api/ip'
$connection.ip
$connection.versionWhat the Address Tells You
NAT, a VPN, a proxy, or a shared gateway can change the address observed by this service. It is the source address of this web connection, not a verified identity, device location, private LAN address, or subnet prefix.
Fair-use Limit
The server accepts 60 requests per source IP, per site, in any rolling 60 seconds. Pages, assets, error routes, HEAD requests, plain-text and JSON requests share that allowance. People behind the same public IP share the budget.
On HTTP 429, wait for the number of seconds in Retry-After. Do not retry in a tight loop or try to bypass the allowance. X-RateLimit-Limit and X-RateLimit-Remaining report the active budget. Responses are not cacheable.
Live DNS JSON Endpoints
Use GET requests with a public domain name, not a URL. DNS record types include A, AAAA, CNAME, MX, NS, TXT, SOA, CAA and SRV. Resolver values are cloudflare (default) or google.
curl -fsS "https://iptoolbox.info/api/dns?name=iptoolbox.info&type=A&resolver=cloudflare"curl -fsS "https://iptoolbox.info/api/compare?name=iptoolbox.info&type=AAAA"$ip = (Invoke-RestMethod -Uri 'https://iptoolbox.info/ip').Trim()
Invoke-RestMethod -Uri ('https://iptoolbox.info/api/reverse?ip=' + [uri]::EscapeDataString($ip))A DNS result includes name, type, resolver, provider, status, dnssecValidated, truncated, elapsedMs and records. Each record contains name, type, ttl (seconds), and value. A comparison includes two results, a note, and comparison set to match, different or incomplete. Read these fields before interpreting an empty answer list.
Secondary DNS Budget
The site also enforces 30 DNS lookup units per source IP per minute. DNS and reverse lookups use one unit; comparison uses two. This secondary budget resets on its own one-minute window. Exceeding it can temporarily block other requests from that IP as well. Both allowances must permit your request.
Handle Errors Deliberately
HTTP 400 indicates invalid input, 429 means wait for Retry-After, and 502 indicates an upstream or processing failure. A comparison can return HTTP 200 with an incomplete result when one resolver fails; if both fail, it returns 502. DNS status such as NXDOMAIN is not the same as an HTTP error.
Local Math Is Not a Remote API
The five calculation tools run in your browser. No remote calculation endpoint is exposed and their recalculations do not consume lookup units. Free endpoints have no uptime commitment. Handle timeouts and cache your own results when appropriate.