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 — 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
- ip-api.com (primary) — free tier, 45 requests/minute per IP. Exposes
hosting,proxyandmobileflags. - 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.
Related resources
- Price comparison (20+ providers): https://socks5ip.com.cn/jiagezhongxin/
- Free IP quality checker (web): https://socks5ip.com.cn/ip-check-center/
- Dataset: proxy IP pricing in China (CSV/JSON): https://github.com/socks5ip/proxy-ip-pricing
- Source code: https://github.com/socks5ip/proxy-ip-check
- npm version: https://www.npmjs.com/package/proxy-ip-check
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file proxy_ip_check-1.0.0.tar.gz.
File metadata
- Download URL: proxy_ip_check-1.0.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d7c3945a628ef122e5a03983914322405d5f507f1da8dc4cddbf96c49d8d354
|
|
| MD5 |
302751bc4392c0454691c05b888fcb96
|
|
| BLAKE2b-256 |
3d61ee30d3ed0707e75bbdfa9c7efdc6b6aa7faf1b5c24aa10ae13d9c4ecb2c6
|
File details
Details for the file proxy_ip_check-1.0.0-py3-none-any.whl.
File metadata
- Download URL: proxy_ip_check-1.0.0-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
428168daa3bcba7d8b023196370aab887875a37641f8762322b538925585f454
|
|
| MD5 |
5463ef861c663da82bb479e604f4f8ca
|
|
| BLAKE2b-256 |
c2573c0372604d683a3f23d082e9943ef8aea23d7201d22f65507d1cfa915ce2
|