GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing hackmyip.com — Free IP Geolocation API — No Key, JSON, CORS | HackMyIP Free IP Geolocation API (No Key Required)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. Please keep it under 100 requests per minute.
$
curl https://hackmyip.com/api/ip
No API KeyStart making requests immediately. No signup, no authentication.
JSON ResponseClean JSON format. Easy to parse in any language.
CORS EnabledAccess-Control-Allow-Origin: * — use from any domain.
Edge NetworkServed from Cloudflare's global edge. Low latency worldwide.
Copy-paste examples7 of the 10 endpoints on this page have a curl, JavaScript (fetch) and Python (requests) example with a copy button: GET /api/ipReturns the requesting client's IP address and geolocation data.
GET
https://hackmyip.com/api/ip
Example Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"ip": "98.86.181.150",
"location": {
"city": "Ashburn",
"region": "Virginia",
"country": "US",
"country_name": "US",
"continent": "NA",
"latitude": "39.04372",
"longitude": "-77.48749",
"timezone": "America/New_York",
"postal_code": "20147"
},
"network": {
"asn": 14618,
"isp": "Amazon Data Services Northern Virginia",
"connection_type": "HTTP/1.1",
"tls_version": "TLSv1.3"
},
"privacy": {
"type": "datacenter",
"score": 75,
"grade": "B",
"is_vpn": false,
"is_datacenter": true,
"is_residential": false,
"hosting": false,
"proxy": false
},
"is_eu": false,
"ipv6": false
}
}
Full response, built from your own connection as our edge sees it. When the upstream network lookup answers, Response FieldssuccessbooleanEnvelope flag — every response is wrapped as { success, data }
data.ipstringPublic IP address (IPv4 or IPv6)
data.location.citystringCity based on IP geolocation
data.location.regionstringState or region
data.location.countrystringISO 3166-1 alpha-2 country code
data.location.country_namestringFull country name
data.location.continentstringContinent code (NA, EU, AS, etc.)
data.location.latitudestringApproximate latitude coordinate
data.location.longitudestringApproximate longitude coordinate
data.location.timezonestringIANA timezone identifier
data.location.postal_codestringPostal or ZIP code
data.network.asnnumberAutonomous System Number
data.network.ispstringISP or organization name
data.network.connection_typestringHTTP protocol version (HTTP/1.1, HTTP/2, HTTP/3)
data.network.tls_versionstringTLS version of the connection
data.privacyobjecttype, score, grade, is_vpn, is_datacenter, is_residential, hosting, proxy
data.is_eubooleanWhether the IP is in an EU country
data.ipv6booleanWhether the caller connected over IPv6
GET /api/lookupLook up geolocation data for a specific IP address.
GET
https://hackmyip.com/api/lookup?ip=8.8.8.8
ParametersipstringRequired. IPv4 or IPv6 address to look up.
Example Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"ip": "8.8.8.8",
"location": {
"city": "Ashburn",
"region": "Virginia",
"country": "US",
"country_name": "United States",
"latitude": 39.03,
"longitude": -77.5,
"timezone": "America/New_York",
"postal_code": "20149"
},
"network": {
"asn": 15169,
"isp": "Google LLC",
"org": "Google Public DNS"
},
"privacy": {
"hosting": true,
"proxy": true,
"mobile": false
}
}
}
Real response for 8.8.8.8 (2026-10-25). Results are cacheable for an hour. If the upstream lookup is briefly unavailable you get HTTP 503 with Usage NotesThis API is free for personal and commercial use. Please keep it under 100 requests per minute, the limit our response headers advertise ( For high-volume usage or dedicated support, please reach out. README BadgeUsing the API in a project? Add the badge to your README so your users know where the IP data comes from. It renders fine through GitHub's image proxy: Markdown[](https://hackmyip.com/api)
HTML<a href="https://hackmyip.com/api"><img src="https://hackmyip.com/badge.svg" alt="IP data by HackMyIP"></a>
GET /api/breachCheck if an email address has been exposed in data breaches. Scans known breach databases (XposedOrNot).
GET
https://hackmyip.com/api/[email protected]
ParametersemailstringEmail address to check (required)
Example Request# cURL
curl "https://hackmyip.com/api/[email protected]"
# JavaScript
fetch('https://hackmyip.com/api/[email protected]')
.then(r => r.json())
.then(data => console.log(data.data.breaches));
Example Response{
"success": true,
"data": {
"email": "use***@example.com",
"status": "checked",
"breaches": 13,
"services": ["Adobe", "Canva", "LinkedIn", ...],
"risk": { "score": 71, "level": "high" },
"passwords": {
"plain_text": 3,
"weak_hash": 2,
"strong_hash": 3,
"unknown": 0,
"total": 8
}
}
}
Sample response: the fields match the live endpoint, but the values are illustrative, not a real lookup. When the breach database cannot be reached the endpoint answers GET /api/scoreGet your IP's privacy and cleanliness score. Detects VPN, datacenter, or residential IP.
GET
https://hackmyip.com/api/score
Example Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"ip": "98.86.181.150",
"location": {
"city": "Ashburn",
"country": "US",
"timezone": "America/New_York"
},
"network": {
"isp": "Amazon Data Services Northern Virginia",
"asn": 14618,
"tls_version": "TLSv1.3"
},
"privacy": {
"type": "datacenter",
"score": 75,
"grade": "B",
"label": "Moderate",
"flags": [
"Hosting/datacenter IP - your real IP is hidden"
],
"is_vpn": false,
"is_datacenter": true,
"is_residential": false
},
"ipv6": false
}
}
Your own result: this is exactly what GET /api/dnsDNS 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 Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"domain": "github.com",
"type": "MX",
"status": 0,
"records": [
{
"name": "github.com",
"type": 15,
"TTL": 177,
"data": "0 github-com.mail.protection.outlook.com."
}
],
"authority": []
}
}
Real response (2026-10-25). GET /api/whoisWHOIS / RDAP registration data for a domain: registrar, creation date, expiration, name servers.
GET
https://hackmyip.com/api/whois?domain=github.com
Example Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"domain": "GITHUB.COM",
"registrar": "MarkMonitor Inc.",
"creation_date": "2007-10-09T18:20:50Z",
"expiration_date": "2028-10-09T18:20:50Z",
"last_updated": "2026-09-07T09:22:52Z",
"name_servers": [
"DNS1.P08.NSONE.NET",
"DNS2.P08.NSONE.NET",
"DNS3.P08.NSONE.NET",
"DNS4.P08.NSONE.NET",
"NS-1283.AWSDNS-32.ORG",
"NS-1707.AWSDNS-21.CO.UK",
"NS-421.AWSDNS-52.COM",
"NS-520.AWSDNS-01.NET"
],
"status": [
"client delete prohibited",
"client transfer prohibited",
"client update prohibited"
],
"rdap_link": "https://rdap.verisign.com/com/v1/domain/github.com"
}
}
Real response (2026-10-25). GET /api/rdnsReverse DNS — resolves an IP address to its PTR hostname.
GET
https://hackmyip.com/api/rdns?ip=8.8.8.8
Example Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"ip": "8.8.8.8",
"hostname": "dns.google",
"ptr_record": "8.8.8.8.in-addr.arpa"
}
}
Real response (2026-10-25). GET /api/blacklistCheck 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 Requestcurl JavaScript (fetch) Python (requests) Example Response{
"success": true,
"data": {
"ip": "8.8.8.8",
"total_lists": 12,
"total_checked": 8,
"unavailable_count": 4,
"listed_count": 0,
"clean": true,
"status": "CLEAN",
"results": [
{
"name": "Spamhaus ZEN",
"zone": "zen.spamhaus.org",
"desc": "Combined spam/exploit/policy blocklist",
"listed": false,
"status": "unavailable",
"response": null
},
{
"name": "Barracuda",
"zone": "b.barracudacentral.org",
"desc": "Barracuda reputation block list",
"listed": false,
"status": "not_listed",
"response": null
}
]
}
}
Real response (2026-10-25), GET /api/downIs a website up or down. Returns HTTP status code and response time in ms.
GET
https://hackmyip.com/api/down?url=example.com
Example Requestcurl "https://hackmyip.com/api/down?url=example.com"
Example Response{
"success": true,
"data": {
"url": "https://example.com",
"is_up": true,
"status_code": 200,
"status_text": "OK",
"response_time_ms": 7,
"server": "cloudflare",
"content_type": "text/html; charset=utf-8",
"powered_by": null,
"note": null,
"checked_at": "2026-10-25T05:33:08.203Z"
}
}
Real response from hackmyip.com (2026-10-25). POST /api/bulkBatch lookup up to 50 IPs in a single POST request. Faster than sequential /api/lookup calls.
POST
https://hackmyip.com/api/bulk
Example Requestcurl -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": {
"total": 2,
"results": [
{ "ip": "8.8.8.8", "country": "US", "city": "Ashburn", "isp": "Google LLC", "org": "Google Public DNS", "lat": 39.03, "lon": -77.5 },
{ "ip": "1.1.1.1", "country": "AU", "city": "South Brisbane", "isp": "Cloudflare, Inc", "org": "APNIC and Cloudflare DNS Resolver project", "lat": -27.4766, "lon": 153.0166 }
]
}
}
npm PackageUse our official JavaScript client for easy integration: # Install
npm install hackmyip
# Usage
const { getMyIP, checkBreach, getPrivacyScore } = require('hackmyip');
const ip = await getMyIP();
const breach = await checkBreach('[email protected]');
const score = await getPrivacyScore();
GitHub: github.com/Hackmyip/hackmyip-js Using the API? Add a badgeShow 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)
Related Tools
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |