Check proxy IP reputation before you burn requests.
Installation · Usage · Options · Scoring · JSON export
Paste an IP or proxy string. Get blacklist hits, datacenter/residential classification, and a quality score.
$ ipvet check -i 74.89.46.126 -i 185.23.92.34 -i 103.47.12.8
Checking 3 IP(s) against 12 blacklists...
IP Reputation Report
┌───────────────┬────────────┬───────────────────┬─────────┬────────────┬───────┬───────┐
│ IP │ Type │ ISP │ Country │ Blacklists │ Score │ Grade │
├───────────────┼────────────┼───────────────────┼─────────┼────────────┼───────┼───────┤
│ 74.89.46.126 │ Residential│ Optimum Online │ US │ 0/12 │ 95 │ A │
│ 185.23.92.34 │ Datacenter │ OVH SAS │ FR │ 2/12 │ 66 │ B │
│ 103.47.12.8 │ Datacenter │ DigitalOcean │ SG │ 5/12 │ 25 │ D │
└───────────────┴────────────┴───────────────────┴─────────┴────────────┴───────┴───────┘
Summary: 3 IPs checked
Clean: 1 Flagged: 2 Errors: 0
Residential: 1 Datacenter: 2 Mobile: 0
Average score: 62/100
Proxy lists are black boxes. You pay for 1,000 IPs but have no idea:
- How many are already blacklisted? Flagged IPs waste requests and get you blocked instantly.
- Are they actually residential? Datacenter IPs are easier to detect and block.
- Are any marked as known proxies/VPNs? Some IPs are flagged in public databases before you even use them.
ipvet answers these in seconds. Check IPs before routing production traffic through them. Works with any proxy provider.
macOS
brew install pipx && pipx install git+https://github.com/ProxyHatCom/ipvet.gitLinux
python3 -m pip install pipx && pipx install git+https://github.com/ProxyHatCom/ipvet.gitWindows
pip install git+https://github.com/ProxyHatCom/ipvet.gitDocker
docker build -t ipvet .
docker run --rm ipvet check -i 1.2.3.4After install the
ipvetcommand is available globally — no venv needed.
ipvet check -i 1.2.3.4
ipvet check -i 1.2.3.4 -i 5.6.7.8 -i 9.10.11.12Pass --proxy / -p to connect through the proxy and check the exit IP that servers actually see:
ipvet check -p user:pass@gate.example.com:1080
ipvet check -p socks5://user:pass@proxy.example.com:1080You can mix proxies and raw IPs in a single command:
ipvet check -p user:pass@gate.example.com:1080 -i 5.6.7.8One IP or proxy string per line:
ipvet check -f ips.txtipvet runPaste IPs or proxy strings one per line. Enter a blank line to start checking.
Add -d to see which specific blacklists flagged each IP:
ipvet check -i 1.2.3.4 -d| Flag | Short | Default | Description |
|---|---|---|---|
--ip |
-i |
— | IP address to check |
--proxy |
-p |
— | SOCKS5 proxy — connects through it to find exit IP |
--file |
-f |
— | File with IPs (one per line) |
--detail |
-d |
off | Show per-IP blacklist breakdown |
--timeout |
15s |
Per-request timeout | |
--output |
-o |
— | Export results to JSON file |
Each IP starts at 100 and loses points for risk factors:
| Factor | Penalty |
|---|---|
| Each blacklist hit | -7 (max -70) |
| Datacenter IP | -10 |
| Known proxy/VPN | -15 |
Grades:
| Score | Grade | Meaning |
|---|---|---|
| 80–100 | A | Clean — safe for production |
| 60–79 | B | Fair — may face some blocks |
| 40–59 | C | Poor — likely blocked on many sites |
| 20–39 | D | Bad — heavily flagged |
| 0–19 | F | Toxic — avoid |
ipvet queries 12 DNS-based blacklists in parallel:
Spamhaus ZEN, Barracuda, SpamCop, SORBS, S5H, UCEProtect-1, DroneRL, InterServer, WPBL, PSBL, Mailspike, BlockList.de
ipvet check -i 1.2.3.4 -o results.json[
{
"ip": "1.2.3.4",
"score": 93,
"grade": "A",
"type": "Residential",
"country": "US",
"isp": "Comcast Cable",
"org": "Comcast Cable Communications",
"asn": "AS7922",
"is_datacenter": false,
"is_proxy": false,
"is_mobile": false,
"blacklists_checked": 12,
"blacklists_listed": 1,
"blacklists": [
{"name": "Spamhaus ZEN", "listed": true},
{"name": "Barracuda", "listed": false}
]
}
]- Resolve — with
--proxy, connects through the SOCKS5 proxy to discover the real exit IP. With--ip, resolves hostnames via DNS. - Geo lookup — ip-api.com provides ISP, ASN, country, and datacenter/proxy/mobile classification
- DNSBL scan — 12 blacklists are queried in parallel via reverse-IP DNS lookups
- Score — penalties are applied based on blacklist hits and IP classification
No API keys required. All data sources are free.
This tool is provider-agnostic. Here's an example checking IPs from ProxyHat:
ipvet check -p user:pass@gate.proxyhat.com:1080git clone https://github.com/ProxyHatCom/ipvet.git
cd ipvet
pip install -e ".[dev]"
pytest