Skip to main content

proxy-ip-check

Identify an IP's ASN owner, ISP, country and network type — residential, hosting/datacenter, proxy/VPN or mobile carrier.

Zero dependencies. No API key. Works from a single function call or the command line.

This is the Python port of the npm package proxy-ip-check (JS source: proxy-ip-check) — same behaviour, same data sources.


Install

pip install proxy-ip-check

Command line

$ proxy-ip-check 8.8.8.8

  IP           8.8.8.8
  ASN          AS15169
  AS name      GOOGLE
  ISP          Google LLC
  Location     United States, California, Mountain View
  Type         HOSTING / DATACENTER
  Source       ip-api.com
$ proxy-ip-check 114.114.114.114

  IP           114.114.114.114
  ASN          AS137702
  AS name      China Mobile
  ISP          China Mobile
  Location     China, Jiangsu, Nanjing
  Type         PROXY / VPN RANGE
  Source       ip-api.com

Multiple IPs and JSON output (for scripts, pipelines and LLM agents):

proxy-ip-check 8.8.8.8 1.1.1.1 --json

Python API

from proxy_ip_check import lookup, is_residential

r = lookup('8.8.8.8')
print(r['asn'])               # 'AS15169'
print(r['asName'])            # 'GOOGLE'
print(r['networkType'])       # 'hosting'
print(r['isResidentialLike']) # False

# Quick boolean check (True / False / None when undecidable)
if is_residential(ip) is False:
    print('this looks like a datacenter IP — risky for account operations')

Why ASN instead of "IP type databases"

Third-party IP-type databases guess. The ASN is a registration fact — an IP either belongs to a consumer broadband ISP or to a datacenter / cloud provider. Most anti-fraud systems evaluate this signal first, which is why it is the most reliable single indicator of whether an IP will be treated as a real household user.

Signal Reliability Notes
ASN ownership Highest Registration fact — cannot be faked by the IP holder
IP-type database label Medium Varies between databases
Blacklist / abuse score Medium Depends on the list's freshness
DNS / WebRTC leaks Supporting Catches misconfiguration, not IP quality

Returned fields

Field Meaning
ip Queried IP (echoed back from the source)
asn e.g. AS15169
asName AS / organisation name, e.g. GOOGLE
isp ISP name
org Organisation
country / countryCode / region / city Location
networkType residential | hosting | proxy | mobile | unknown
isResidentialLike True = looks residential, False = looks datacenter/proxy, None = no signal
source Which data source answered

Data sources & limits

  1. ip-api.com (primary) — free tier, 45 requests/minute per IP. Exposes hosting, proxy and mobile flags.
  2. ipinfo.io (fallback) — used automatically when the primary fails.

Please respect the free-tier rate limit. For bulk validation, add a throttle (e.g. one request per 1.5 s) and cache results.

License

MIT

Disclaimer

proxy-ip-check queries public IP-intelligence APIs and reports what they return. It is a diagnostic helper, not a guarantee: an IP labelled residential can still be blocked by a specific platform, and different risk engines weigh signals differently. Always verify against the platform you actually care about.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proxy_ip_check-1.0.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proxy_ip_check-1.0.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file proxy_ip_check-1.0.1.tar.gz.

File metadata

  • Download URL: proxy_ip_check-1.0.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for proxy_ip_check-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a62838b8301b10f93e770f17aa084a1d26559761b690b1e15c1f5dfe8af8460c
MD5 f9c5d7093340032a6daa600bb9cdd968
BLAKE2b-256 d38ad49b8625692b452af78f0c2a7fdda261e4db3a3e627e7825f62b3935ae77

See more details on using hashes here.

File details

Details for the file proxy_ip_check-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: proxy_ip_check-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for proxy_ip_check-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f946444d28265ba652099bd32c071fbefff024399a8aeef0917d1c71243dab9e
MD5 c5243f447b11e6ab5afacd21843d12c2
BLAKE2b-256 b733f2db09ff5ef47ef8155d9f31d2c949887be85df5e24c544578751502e182

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.2

2 files

This release

1.0.1 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page