Command line
Every tool answers curl in plain text. Bare paths like curl ipq.sh/dns print their own usage.
This list is also plain text, or curl ipq.sh/cli.
Your request
curl ipq.shyour IP addresscurl ipq.sh/ipthe same, by namecurl ipq.sh/ip.jsonIP, version and country as JSONcurl -4 ipq.shyour IPv4 address (-6 for IPv6)curl ipq.sh/headersthe headers your client sentcurl ipq.sh/headers.jsonthe same as JSONcurl ipq.sh/uayour user agent (/ua.json)curl ipq.sh/timethe current time in UTC (/time.json)Check a site
curl ipq.sh/check/example.comDNS, TCP, TLS and one HEAD / from every regioncurl ipq.sh/check/example.com?port=80plain HTTP on port 80 instead of 443Traceroute
curl ipq.sh/tracetraceroute to you from every regioncurl ipq.sh/trace/methe same, by namecurl ipq.sh/trace/example.comtraceroute to a site or addressPing
curl ipq.sh/ping/example.comfive pings to a site or address from every regioncurl ipq.sh/ping/mefive pings to youDNS
curl ipq.sh/dns/example.comA records, as each region's resolver sees themcurl ipq.sh/dns/example.com?type=MXany of A AAAA CNAME MX NS TXT SOA CAA SRV PTRcurl ipq.sh/dns/example.com?mailMX, SPF and DMARC togethercurl ipq.sh/dns/8.8.8.8an address looks up its PTRPorts
curl ipq.sh/port/22,443are your own TCP ports reachable from outside (up to five)curl -6 ipq.sh/port/443test your IPv6 address (-4 for IPv4)Only ever tests the address you connect from.
GeoIP
curl ipq.sh/geowhere you are and who routes youcurl ipq.sh/geo/8.8.8.8location, network and reverse name of an addresscurl ipq.sh/geo/example.comthe same for each address a name resolves tocurl ipq.sh/asn/8.8.8.8the same lookup, by another nameHeartbeats
curl -d period=1h -d grace=15m -d ntfy=mytopic ipq.sh/heartbeatcreate a check; prints its ping and manage URLscurl -d period=1d -d webhook=https://… ipq.sh/heartbeatalert a webhook instead; also -d name=…, -d remind=6hcurl ipq.sh/hb/<id>ping: the job rancurl ipq.sh/hb/<id>/startthe job startedcurl ipq.sh/hb/<id>/failthe job failedcurl ipq.sh/hb/<id>/$?report an exit code; non-zero is a failurecurl ipq.sh/heartbeat/<manage>status and recent pingscurl -d action=test ipq.sh/heartbeat/<manage>send a test alertcurl -d period=2h ipq.sh/heartbeat/<manage>change settingscurl -d action=delete ipq.sh/heartbeat/<manage>delete the checkcurl -d ping=<ping URL> ipq.sh/heartbeat/recoverlost the manage URL: a one-time link goes to the alert destinationInternet health
curl ipq.sh/healthmajor services, as nine regions see themcurl ipq.sh/health.jsonthe same as JSONOptions
?from=nyc,lononly these regions, on /check, /trace, /ping, /dns and /port?jsonJSON instead of text; so does -H 'Accept: application/json'curl -4or -6: pick which of your addresses /trace, /ping/me and /port testRegions: nyc New York, sfo San Francisco, sao São Paulo, lon London, jnb Johannesburg, blr Bangalore, sgp Singapore, tyo Tokyo, syd Sydney. Combine options with &, and quote the URL in your shell:
curl 'ipq.sh/dns/example.com?type=TXT&from=lon&json'.