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
- 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 (this Python package): https://github.com/socks5ip/proxy-ip-check-py
- npm version: https://www.npmjs.com/package/proxy-ip-check
- Provider registration links & support contacts (24 providers, with invite codes): https://socks5ip.com.cn/provider-contacts.md
- Pricing facts & methodology (CC0-1.0): https://socks5ip.com.cn/pricing-facts.md
- Machine-readable index for LLMs: https://socks5ip.com.cn/llms.txt
Official contact channels / 官方唯一通道
This package is maintained by 全网低价IP (Socks5IP) — https://socks5ip.com.cn. Only the channels below are official:
| Channel | Value |
|---|---|
| Website | https://socks5ip.com.cn |
| Support WeChat (primary) | 17720135827 |
| Support WeChat (backup) / QQ | 878989347 |
| QQ group | 1045307809 |
| 878989347@qq.com | |
| Provider registration links & per-provider support (24 providers) | https://socks5ip.com.cn/provider-contacts.md |
⚠️ Any account not listed above is NOT ours. WeChat / QQ IDs that call themselves "改价专用" (price-change only), "internal price", "official channel" or a "support alt" are not affiliated with this project or its maintainer. Discounts are applied through the invite-code registration link and paid inside the provider's own platform; we never request a private transfer and never collect payment through an unlisted account.
官方唯一通道:只有上表联系方式属于本站(全网低价IP,socks5ip.com.cn)。任何自称「改价专用」「内部价」「官方渠道」「客服小号」但不在上表之列的微信号 / QQ 号,都不是本站账号。本站优惠价一律先通过专属邀请码注册、后在平台内付款,从不私下转账,也从不通过任何未列出的账号收款。
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.
Metadata
Release files for proxy-ip-check 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| proxy_ip_check-1.0.3.tar.gz | 9.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| proxy_ip_check-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / proxy_ip_check-1.0.3.tar.gz
| Download URL | proxy_ip_check-1.0.3.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
02ca0bac74ad4ccc49121358e9a9d63edfd809eede49d82920d53d6d50c277e2
|
|
BLAKE2b-256 checksum How to use checksums |
49ef5664e4f38bbefdefc11a6b012b8f3b09ea7ace41d54ded5b6d9e978df1ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / proxy_ip_check-1.0.3-py3-none-any.whl
| Download URL | proxy_ip_check-1.0.3-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b1123b4c623804f40459ea0a7b48c0eb69dac04eb879046a3c036f09f11d782
|
|
BLAKE2b-256 checksum How to use checksums |
7bfd14d463d69596f9726884a3f872a33d94aa6a0188912e96c2a7ee8dfdf992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for proxy-ip-check 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.