My IP
Your public IPv4/IPv6 address, hostname and approximate location – plus the d4rc.net IP API docs.
Your connection
IPv4216.73.217.145
- Hostname
- …
- Location
- …
- Provider
- …
Lookups
-
IPv4
Detecting… -
IPv6
Detecting… -
Preferred
Detecting… -
Hostname
Detecting… -
Server sees
216.73.217.145
IPv4, IPv6 and hostname are queried directly from your browser via the d4rc.net endpoints (fetch, no cookies, no referrer). The D4rC Tools server itself makes no outbound requests for this page.
Geolocation
Open mapApproximate location based on IP databases. City-level accuracy varies by provider.
Request details
- User-Agent
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected]) - Languages
– - Protocol
HTTP/1.1
API documentation
ipify compatibleA simple public IP address API. No key, no registration, no limits for reasonable use. All endpoints accept GET requests over HTTPS and support the same parameters as ipify.org.
Endpoints
Response formats
| Parameter | Content-Type | Response |
|---|---|---|
(none) |
text/plain | 203.0.113.42 |
?format=json |
application/json | {"ip":"203.0.113.42"} |
?format=jsonp |
application/javascript | callback({"ip":"203.0.113.42"}); |
?format=jsonp&callback=getip |
application/javascript | getip({"ip":"203.0.113.42"}); |
The hostname endpoint returns the key "hostname" instead of "ip". ip6.d4rc.net answers with HTTP 400 {"error":"IPv6 required"} when reached over IPv4.
Code examples
# IPv4 curl https://ip.d4rc.net # IPv6 (only works with IPv6 connectivity) curl https://ip6.d4rc.net # JSON curl "https://ip.d4rc.net?format=json" # Reverse DNS hostname curl https://hostname.d4rc.net
#!/usr/bin/env bash IP=$(curl -fsS https://ip.d4rc.net) HOST=$(curl -fsS https://hostname.d4rc.net) echo "My public IP is $IP ($HOST)"
const res = await fetch("https://ip.d4rc.net/?format=json");
const { ip } = await res.json();
console.log("My public IP:", ip);
<?php
$ip = trim(file_get_contents('https://ip.d4rc.net'));
$data = json_decode(file_get_contents('https://ip.d4rc.net?format=json'), true);
echo $data['ip'];
import requests
ip = requests.get("https://ip.d4rc.net", timeout=5).text
hostname = requests.get("https://hostname.d4rc.net?format=json", timeout=5).json()["hostname"]
print(ip, hostname)
(Invoke-RestMethod "https://ip.d4rc.net?format=json").ip (Invoke-RestMethod "https://hostname.d4rc.net?format=json").hostname
In the browser, use fetch() with format=json (CORS). JSONP is only kept for legacy integrations and needs a script-src exception in your CSP.