Intel API
Open API
Free IP intelligence on every IPv4 address, prefix and ASN, with no key, no sign-up and no credits, callable from the browser.
The Open API answers address, prefix and ASN lookups for free, with no key, no sign-up and no credits. It detects ISP and datacenter proxies, VPN servers, Tor exits and hosting, and names privacy relays and corporate gateways. Live residential proxy data and the names of proxy, VPN and Tor operators and lessors are on the paid API.
curl https://api.layer3intel.com/open/146.112.163.10{
"ip": "146.112.163.10",
"type": "corporate_proxy",
"risk": { "score": 20, "level": "low", "reasons": ["corporate_proxy"] },
"flags": {
"anonymizer": false,
"proxy": false,
"vpn": false,
"tor": false,
"relay": false,
"hosting": true
},
"privacy": {
"operators": [
{
"name": "Cisco Umbrella",
"kind": "swg",
"group": "corporate_proxy",
"role": "operator",
"parent": "Cisco"
}
]
},
"location": {
"country": "US",
"region": "Virginia",
"city": "Reston",
"latitude": 38.9687,
"longitude": -77.3411,
"timezone": "America/New_York",
"confidence": "high"
},
"network": {
"asn": 36692,
"name": "Cisco OpenDNS, LLC",
"type": "business",
"prefix": "146.112.163.0/24",
"registered": "2025-10-31",
"rpki": "valid",
"abuse_email": "rir-abuse@cisco.com",
"company": "Cisco OpenDNS, LLC"
},
"routing": {
"shape": "stable",
"first_seen": "2018-08-05",
"origins": 1,
"current_since": "2018-08-05"
},
"proxy_map": { "exits_24": 0, "always_on_24": 0 }
}Rules
- No query string. Any
?…gets400 invalid_query, including tracking parameters such as?utm_source=. - Methods:
GET,HEADandOPTIONS(the CORS preflight). Anything else gets405 method_not_allowed, withAllow: GET, HEAD, OPTIONS. - CORS: every answer carries
Access-Control-Allow-Origin: *, so a web page may call the Open API from the browser. - Freshness: an open answer can lag behind the paid API's. Use the paid API when you need the latest data on every call.
Call it from a web page
const response = await fetch('https://api.layer3intel.com/open/146.112.163.10');
const answer = await response.json();
if (answer.flags?.anonymizer) {
// ISP proxy, datacenter proxy, VPN or Tor exit
}Canonical paths
A non-standard spelling gets 301 Moved Permanently to the standard path, given in Location. The response has no body.
| Asked | Redirected to |
|---|---|
/open/as13335, /open/13335 | /open/AS13335 |
/open/13335/prefixes | /open/AS13335/prefixes |
/open/::ffff:1.1.1.1 | /open/1.1.1.1 |
/open/1.1.1.1/24 | /open/1.1.1.0/24 |
Follow redirects in your client (curl -L), or send the standard spelling.