Developer API & CLI

Look up your IP from a terminal or script — no key, no sign-up. Every endpoint is CORS-enabled (Access-Control-Allow-Origin: *) and returns only the caller's own request data.

Endpoints

GET /ip — plain text, just the IP

curl myipis.sh/ip

GET /api/ip — JSON: IP, geo, ISP, browser, headers

curl myipis.sh/api/ip

GET / — a CLI user-agent also gets the bare IP

curl myipis.sh

Browsers get the full HTML page; curl, wget, HTTPie and friends get plain text.

/api/ip response

{
  "ip": "203.0.113.7",
  "version": "IPv4",
  "isPrivate": false,
  "forwardedFor": ["203.0.113.7"],
  "userAgent": "Mozilla/5.0 …",
  "browser": { "name": "Chrome", "version": "149.0.0.0", "os": "macOS", "device": "Desktop" },
  "geo": {
    "city": "London", "region": "England", "country": "United Kingdom",
    "countryCode": "GB", "latitude": 51.5142, "longitude": -0.0931,
    "timeZone": "Europe/London", "asn": 1221, "asnOrganization": "Example ISP"
  },
  "headers": { "Accept-Language": "en-GB", "…": "…" }
}

geo is null when lookups are disabled or the address is private; individual geo fields may be null too.

Notes

  • • No authentication and no rate limit — please be reasonable.
  • • Responses are never cached (Cache-Control: no-store).
  • • Want both your IPv4 and IPv6? Query the protocol-pinned hosts ipv4.myipis.sh and ipv6.myipis.sh — each reports the address it saw.

← Back to your IP