LAYER3 INTEL
Intel API

Address lookups

Look up one IPv4 address for its type, risk score, proxy, VPN, Tor and relay flags, residential proxy record, network, routing and location.

An address lookup tells you what one IPv4 address is and how risky it is. The paid answer adds whether it is a residential proxy exit now, and who runs and leases the space.

RequestTierCost
GET /open/{ip}OpenFree
GET /meOpen, for your own addressFree
GET /v1/{ip}Paid1 credit

A residential proxy exit

curl -H "Authorization: Bearer $KEY" https://api.layer3intel.com/v1/203.0.113.117
{
  "ip": "203.0.113.117",
  "type": "residential",
  "risk": { "score": 75, "level": "high", "reasons": ["residential_proxy"] },
  "flags": {
    "anonymizer": false,
    "proxy": true,
    "residential_proxy": true,
    "vpn": false,
    "tor": false,
    "relay": false,
    "hosting": false
  },
  "residential_proxy": {
    "score": 100,
    "last_seen": "2026-11-01",
    "days_seen_30d": 30,
    "days_seen_7d": 7,
    "providers": ["Oxylabs", "Infatica", "IPRoyal", "Bright Data"]
  },
  "location": {
    "country": "UA",
    "region": "Kyiv City",
    "city": "Kyiv",
    "latitude": 50.4501,
    "longitude": 30.5234,
    "timezone": "Europe/Kyiv",
    "confidence": "high"
  },
  "network": {
    "asn": 64500,
    "name": "Example Broadband",
    "type": "access",
    "prefix": "203.0.113.0/24",
    "registered": "2009-05-22",
    "rpki": "valid",
    "abuse_email": "abuse@example.net",
    "company": "Example Broadband"
  },
  "routing": {
    "shape": "stable",
    "first_seen": "2016-05-19",
    "origins": 1,
    "current_since": "2016-05-19"
  },
  "proxy_map": { "exits_24": 251, "always_on_24": 122 }
}

The address and network are illustrative documentation values: a residential exit is a real subscriber's connection. The open answer for such an address reads risk.level: low with nothing about a proxy; only the proxy_map counts for its /24 show the exits around it.

A privacy relay or corporate gateway

The open answer names privacy relays and corporate gateways in privacy.operators:

curl https://api.layer3intel.com/open/172.224.226.10
{
  "ip": "172.224.226.10",
  "type": "relay",
  "risk": { "score": 35, "level": "medium", "reasons": ["relay"] },
  "flags": {
    "anonymizer": false,
    "proxy": false,
    "vpn": false,
    "tor": false,
    "relay": true,
    "hosting": true
  },
  "privacy": {
    "operators": [
      {
        "name": "iCloud Private Relay",
        "kind": "relay",
        "group": "relay",
        "role": "operator",
        "parent": "Apple"
      }
    ]
  },
  "location": {
    "country": "GB",
    "region": "England",
    "city": "London",
    "latitude": 51.5085,
    "longitude": -0.1257,
    "timezone": "Europe/London",
    "confidence": "high"
  },
  "network": {
    "asn": 36183,
    "name": "Akamai Technologies, Inc.",
    "type": "cdn",
    "prefix": "172.224.226.0/24",
    "registered": "2013-03-15",
    "rpki": "valid",
    "abuse_email": "abuse@akamai.com",
    "company": "Akamai Technologies, Inc."
  },
  "routing": {
    "shape": "stable",
    "first_seen": "2021-08-25",
    "origins": 1,
    "current_since": "2021-08-25"
  },
  "proxy_map": { "exits_24": 0, "always_on_24": 0 }
}

A corporate gateway answers type: corporate_proxy, with the vendor in privacy.operators (for example Cisco Umbrella, kind: swg). See the Open API example.

Fields

FieldTypeDescription
ipstringThe address, in standard dotted form. Always present.
typestringWhat the address is. See address types.
risk.scoreinteger, 0–100How strongly the address suggests hidden, automated or abusive traffic.
risk.levelstringcritical (score 85 or above), high (60 or above), medium (25 or above), low.
risk.reasonsstring[]Why, most significant first. Empty when there is no reason. See risk reasons.
flags.anonymizerbooleanIt hides its users: an ISP or datacenter proxy, a VPN or a Tor exit. A residential proxy exit does not set it: the device belongs to a real subscriber.
flags.proxybooleanAn ISP or datacenter proxy. Paid: also true for a residential proxy exit.
flags.residential_proxybooleanPaid only. A residential proxy exit now. Always present on paid answers; false when there is no record.
flags.vpnbooleanA commercial VPN server.
flags.torbooleanA Tor exit relay.
flags.relaybooleanA privacy relay built into a browser or OS (iCloud Private Relay, Cloudflare WARP): real users, address hidden.
flags.hostingbooleanA server in a data center or cloud.
residential_proxyobjectPaid only, when there is a current record. See below.
privacyobjectWhen names apply: operators[] and leased_from[]. Open: operators[] only, for privacy relays and corporate gateways. Paid: every operator, and leased_from[]. See Operators and lessors.
sharingstringWhen shared: cgnat or mobile. Many people use the address at once. See sharing.
crawlerobjectKnown crawlers and monitors: operator (for example Google), purposes[] (crawler purposes) and names[], the crawlers' own names (for example facebookexternalhit).
connection.accessstring[]When it applies: satellite, maritime, in-flight. See connection.
connection.tcp_terminationstringWhen it applies: network or partial. A middlebox terminates TCP connections.
location.countrystringISO 3166-1 alpha-2 country code, when located.
location.region, location.citystringNames, when known.
location.latitude, location.longitudenumberThe city's position, not the device's, when known.
location.timezonestringIANA time zone, when known.
location.confidencestringhigh, medium or low, when located. See location confidence.
network.asnintegerThe network announcing the address.
network.namestringThat network's name.
network.typestringWhat kind of network it is, when classified. See network types.
network.prefixstringThe announced block covering the address.
network.registereddateWhen the registry record for the block was created, when known. A very recent date on proxy-like space is a signal.
network.rpkistringThe route's RPKI status, when known. See RPKI.
network.abuse_emailstringThe registry's abuse contact for the block, when published.
network.drop_listedtrueListed networks only. The announcing network is on Spamhaus's ASN-DROP list.
network.companystringThe organization using the address, which may differ from the network announcing it, when known.
routing.shapestringstable, rotating or reactivated, when known. See routing shape.
routing.first_seendateThe earliest date the block appears in the routing history.
routing.originsintegerHow many different networks have announced the block.
routing.current_sincedateSince when the current network has announced the block.
hostnamestringReverse DNS, when there is one.
proxy_map.exits_24integerResidential proxy exits recently observed in the address's /24. A neighborhood count: it doesn't say whether this address is one.
proxy_map.always_on_24integerOf those, the exits observed nearly every day.

network.* fields are present for announced addresses; type, risk, flags and proxy_map for every public address.

residential_proxy

Paid only, present when there is a current record for the address.

FieldTypeDescription
scoreinteger, 0–100How strongly the address is a residential proxy exit now: higher for an exit in use recently and often. At 50 or above, flags.residential_proxy is true. On a shared address (mobile, carrier NAT) the score never exceeds 50, since the proxy is one of many users.
last_seendateThe last day the address was seen as a residential proxy exit.
days_seen_30dintegerDays in the last 30 on which it was seen as one.
days_seen_7dintegerDays in the last 7. Absent when unavailable.
providersstring[]The residential proxy providers the address was seen with, by brand name. Up to 20 are listed; a busy exit can have more.

A record with a low score is an old sighting: the address was a proxy exit and has stopped. flags.residential_proxy is then false.

Use the answer

  • Block or challenge anonymizers: flags.anonymizer is true for ISP proxies, datacenter proxies, VPN servers and Tor exits.
  • Catch residential proxy exits (paid): flags.residential_proxy is true for an exit in use now. residential_proxy.score, last_seen and days_seen_30d tell you how recent and how frequent.
  • Treat relays and corporate gateways as real people: type: relay and type: corporate_proxy are ordinary users behind a privacy relay or their company's gateway, not anonymizers.
  • Take care with shared addresses: when sharing is present, blocking the address blocks everyone behind it.

On this page