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.2.tar.gz (8.1 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.2-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: proxy_ip_check-1.0.2.tar.gz
  • Upload date:
  • Size: 8.1 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.2.tar.gz
Algorithm Hash digest
SHA256 2eae9d6170a34b0beb1a0dd396dfd9fb1e626126b487a023f7b4c0b9b77edb89
MD5 e6442af14a85630e742c625065cfeaa1
BLAKE2b-256 f46ce0b35244313621491aae4e5b895c085c0f7c699ca08285ae2efefef3de54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: proxy_ip_check-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd936779802ffbd3fe7f511a76989a8ea4af77ddf7d0f8fa26767493679aa2fb
MD5 052368461803870d1e6616cee314d16a
BLAKE2b-256 4fdab32bd3848a23436f102a0325172859bac45e59761c835f2749d8084777aa

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

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