Security

What an IP lookup can say about VPNs

When you screen signups, it is tempting to ask one question of an IP address: is this a VPN or a proxy? An address lookup cannot answer that for every case, because most anonymizing services use ordinary ranges that nothing marks as special. This post covers what a lookup can know about hosting, cloud and Tor traffic, what it cannot, and how to treat the fields our ip product returns.

By LookValid data team. Published 2026-10-19.

What an address can and cannot reveal

An IP address names the last network hop of a connection. If a person routes traffic through a relay, the address you see belongs to the relay. A lookup can tell you who runs that network and whether the range is published as belonging to a known service. It cannot tell you why the connection was relayed, or whether the person behind it means harm.

Two cases are easy to spot because the operators publish the data. Cloud providers publish their address ranges so customers can filter traffic; Amazon, for one, says its file is for identifying traffic from AWS, covers only services customers commonly use for egress filtering, and leaves out ranges customers bring to AWS themselves 1. The Tor Project publishes a list of exit relays 2. Everything else, such as a commercial VPN that rents ordinary data center space or a proxy running on a home connection, shows up only if someone has catalogued it.

What our ip product returns

The ip product has no proxy or VPN verdict. It returns facts that bear on the question, taken from open data:

ip product fields that relate to proxies and VPNs
FieldWhat it meansWhat it does not mean
is_hosting, hosting_providerThe address is inside a range that a cloud or hosting provider has published.A VPN or proxy. Plenty of ordinary servers and apps live in these ranges.
is_torThe address is on the Tor Project bulk exit list.That the user is hostile. Many people use Tor every day 2.
is_vpnAlways null, meaning unknown.False. A null never clears an address.
asn, asn_orgThe autonomous system number and the organization that holds it.Who the user is. A familiar network name can still be a relay.
risk_score, risk_factorsA sum of points for the two listed factors, capped at 100.A fraud probability. It only reflects Tor and hosting matches.

ip product fields that relate to proxies and VPNs

The score is simple arithmetic: a Tor exit adds 70 points and an address in a hosting range adds 25, so the possible values are 0, 25, 70 and 95. Each factor appears in risk_factors with its points and a description, so you can see exactly why a number came out as it did.

curl -X POST https://YOUR_API_HOST/v1/ip \
  -H "Authorization: Bearer $LOOKVALID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ip":"8.8.8.8"}'

Look up one address

Private, loopback and carrier-grade NAT ranges are not public addresses, so the product answers with an invalid-input error for them. A public address that none of the datasets cover returns not found, which is different from a clean result.

Where detection breaks

  • Residential and mobile proxies. Traffic leaves from a home or phone connection, so the address looks like any subscriber and no hosting or Tor flag appears.
  • Shared addresses. Carrier-grade NAT puts many subscribers behind one public address, and geolocation systems then identify the NAT server rather than the end host 3. A flag on such an address says little about one person.
  • Lists lag. Providers change their ranges, and a published file only covers what the provider chooses to publish 1. Tor exit lists change as relays come and go 2.
  • Location is a hint. Operators who publish location feeds say consumers may treat the data as a hint only and that errors occur at many levels 4.

Treat a flag as evidence that raises a question, not a ruling. Blocking an exit relay address affects every person routed through it, including people who did nothing wrong 2.

Using the fields when screening signups

  • Do not make is_hosting alone a reason to refuse an account. Add a step instead, such as an email confirmation or a short wait before a first action.
  • Read is_tor and is_hosting together with signals that do not depend on the address, such as the billing country, the email domain and how fast the form was filled in.
  • Never read a null is_vpn as a pass. If your policy needs VPN status, plan for a second source and keep the null as unknown in your own records.
  • Log the whole risk_factors list with the decision so you can review misfires later.
  • Offer a way through. A legitimate user on a corporate or privacy network should be able to continue after one extra check.

To wire the lookup into a server, see check an IP in Express middleware. For what a location can and cannot tell you, read how accurate IP geolocation is. You can try one address in the free IP address lookup.

Sources

  1. AWS documentation: AWS IP address ranges, read 2026-10-19
  2. Tor Project support: Banning Tor and exit relay lists, read 2026-10-19
  3. RFC 6598: IANA-Reserved IPv4 Prefix for Shared Address Space, read 2026-10-19
  4. RFC 8805: A Format for Self-Published IP Geolocation Feeds, read 2026-10-19