Free Privacy API
10 endpoints: IP geolocation, IP lookup, email breach checking, privacy scoring, DNS, WHOIS, reverse DNS, blacklist check, website status, and bulk lookup. No API key required. JSON response, CORS enabled.
$
curl https://hackmyip.com/api/ip
Copy
No API Key Start making requests immediately. No signup, no authentication.
JSON Response Clean JSON format. Easy to parse in any language.
CORS Enabled Access-Control-Allow-Origin: * — use from any domain.
Edge Network Served from Cloudflare's global edge. Low latency worldwide.
GET /api/ip
Returns the requesting client's IP address and geolocation data.
GET
https://hackmyip.com/api/ip
Example Request
curl https://hackmyip.com/api/ip
fetch('https://hackmyip.com/api/ip' )
.then(r => r.json())
.then(data => console.log(data.ip));
import requests
data = requests.get('https://hackmyip.com/api/ip' ).json()
print(data['ip' ])
Example Response
{
"ip" : "216.73.217.134" ,
"city" : "Columbus" ,
"region" : "Ohio" ,
"country" : "US" ,
"continent" : "NA" ,
"latitude" : 39.96118,
"longitude" : -82.99879,
"timezone" : "America/New_York" ,
"postalCode" : "43215" ,
"asn" : 16509,
"asOrganization" : "Anthropic, PBC" ,
"isEU" : false,
"httpProtocol" : "HTTP/2" ,
"tlsVersion" : "TLSv1.3"
}
Response Fields
ip string Public IP address (IPv4 or IPv6)
city string City based on IP geolocation
region string State or region
country string ISO 3166-1 alpha-2 country code
continent string Continent code (NA, EU, AS, etc.)
latitude number Approximate latitude coordinate
longitude number Approximate longitude coordinate
timezone string IANA timezone identifier
postalCode string Postal or ZIP code
asn number Autonomous System Number
asOrganization string ISP or organization name
isEU boolean Whether the IP is in an EU country
httpProtocol string HTTP protocol version (HTTP/1.1, HTTP/2, HTTP/3)
tlsVersion string TLS version of the connection
GET /api/lookup
Look up geolocation data for a specific IP address.
GET
https://hackmyip.com/api/lookup?ip=8.8.8.8
Parameters
ip string Required. IPv4 or IPv6 address to look up.
Example Request
curl "https://hackmyip.com/api/lookup?ip=8.8.8.8"
Usage Notes
This API is free for personal and commercial use. Please be reasonable with request volume. The API is powered by Cloudflare Workers and served from edge locations worldwide for minimal latency.
For high-volume usage or dedicated support, please reach out.
GET /api/breach
Check if an email address has been exposed in data breaches. Scans known breach databases (XposedOrNot).
GET
https://hackmyip.com/api/breach?email=user@example.com
Parameters
email string Email address to check (required)
Example Request
curl "https://hackmyip.com/api/breach?email=user@example.com"
fetch('https://hackmyip.com/api/breach?email=user@example.com' )
.then(r => r.json())
.then(data => console.log(data.data.breaches));
Example Response
{
"success" : true,
"data" : {
"email" : "use***@example.com" ,
"breaches" : 13,
"services" : ["Adobe" , "Canva" , "LinkedIn" , ...],
"risk" : { "score" : 71, "level" : "high" },
"passwords" : {
"plain_text" : 3,
"weak_hash" : 2,
"strong_hash" : 3,
"total" : 8
}
}
}
GET /api/score
Get your IP's privacy and cleanliness score. Detects VPN, datacenter, or residential IP.
GET
https://hackmyip.com/api/score
Example Request
curl https://hackmyip.com/api/score
fetch('https://hackmyip.com/api/score' )
.then(r => r.json())
.then(data => console.log(data.data.privacy.grade));
Example Response
{
"success" : true,
"data" : {
"ip" : "203.0.113.42" ,
"location" : { "city" : "Tokyo" , "country" : "JP" },
"network" : { "isp" : "NTT" , "asn" : 2914 },
"privacy" : {
"type" : "residential" ,
"score" : 90,
"grade" : "A" ,
"is_vpn" : false,
"is_datacenter" : false
}
}
}
GET /api/dns
DNS record lookup for any domain. Supports A, AAAA, MX, NS, TXT, CNAME, CAA, SOA.
GET
https://hackmyip.com/api/dns?domain=github.com&type=MX
Example Request
curl "https://hackmyip.com/api/dns?domain=github.com&type=MX"
Example Response
{
"success" : true,
"data" : {
"domain" : "github.com" ,
"type" : "MX" ,
"records" : [
{ "name" : "github.com" , "TTL" : 3600, "data" : "1 aspmx.l.google.com." }
]
}
}
GET /api/whois
WHOIS / RDAP registration data for a domain: registrar, creation date, expiration, name servers.
GET
https://hackmyip.com/api/whois?domain=github.com
Example Request
curl "https://hackmyip.com/api/whois?domain=github.com"
Example Response
{
"success" : true,
"data" : {
"domain" : "GITHUB.COM" ,
"registrar" : "MarkMonitor Inc." ,
"creation_date" : "2007-10-09T18:20:50Z" ,
"expiration_date" : "2026-10-09T18:20:50Z" ,
"name_servers" : ["dns1.p08.nsone.net" ]
}
}
GET /api/rdns
Reverse DNS — resolves an IP address to its PTR hostname.
GET
https://hackmyip.com/api/rdns?ip=8.8.8.8
Example Request
curl "https://hackmyip.com/api/rdns?ip=8.8.8.8"
Example Response
{
"success" : true,
"data" : {
"ip" : "8.8.8.8" ,
"hostname" : "dns.google" ,
"ptr_record" : "8.8.8.8.in-addr.arpa"
}
}
GET /api/blacklist
Check an IPv4 against 12 spam / abuse DNSBLs (Spamhaus ZEN, Barracuda, SpamCop, UCEPROTECT, and more).
GET
https://hackmyip.com/api/blacklist?ip=8.8.8.8
Example Request
curl "https://hackmyip.com/api/blacklist?ip=8.8.8.8"
Example Response
{
"success" : true,
"data" : {
"ip" : "8.8.8.8" ,
"total_checked" : 12,
"listed_count" : 0,
"clean" : true,
"status" : "CLEAN"
}
}
GET /api/down
Is a website up or down. Returns HTTP status code and response time in ms.
GET
https://hackmyip.com/api/down?url=example.com
Example Request
curl "https://hackmyip.com/api/down?url=example.com"
Example Response
{
"success" : true,
"data" : {
"url" : "https://example.com" ,
"up" : true,
"status_code" : 200,
"response_time_ms" : 142
}
}
POST /api/bulk
Batch lookup up to 50 IPs in a single POST request. Faster than sequential /api/lookup calls.
POST
https://hackmyip.com/api/bulk
Example Request
curl -X POST -H "Content-Type: application/json" \
-d '{"ips":["8.8.8.8","1.1.1.1"]}' \
https://hackmyip.com/api/bulk
Example Response
{
"success" : true,
"data" : [
{ "ip" : "8.8.8.8" , "city" : "Mountain View" , "isp" : "Google LLC" },
{ "ip" : "1.1.1.1" , "city" : "Sydney" , "isp" : "Cloudflare" }
]
}
npm Package
Use our official JavaScript client for easy integration:
npm install hackmyip
const { getMyIP, checkBreach, getPrivacyScore } = require('hackmyip' );
const ip = await getMyIP();
const breach = await checkBreach('user@example.com' );
const score = await getPrivacyScore();
GitHub: github.com/Hackmyip/hackmyip-js
Using the API? Add a badge
Show off that your project runs on the free HackMyIP API with an embeddable SVG badge. Drop it in your README or site — one line of Markdown:
[](https://hackmyip.com)
Browse all badges & trust seals →