Free proxy checker · HTTP · SOCKS4 · SOCKS5 · no account
Proxies die quietly.
The canary sings first.
Paste one proxy or ten thousand. proxycanary probes HTTP, SOCKS4 and SOCKS5 in parallel and tells you what's alive, how fast, how anonymous, where it exits, and whether that exit is a phone, a datacenter or a home line.
Results land here one row at a time, as each proxy answers, or doesn't.
one per line, or comma separated
http · socks4 · socks5 · up to 10,000 per run · no account
- 3
- protocols
- HTTP · SOCKS4 · SOCKS5
- 200
- parallel probes
- per list, per run
- 10 s
- max timeout
- tunable down to 1 s
- $0
- forever
- no tiers, no signup
how it works
A real request through every proxy. Not a ping.
Most checkers open a TCP socket and call it alive. We push an actual HTTP request through the tunnel to a judge endpoint and read what came out the other side.
- 01
Paste anything that looks like a proxy
ip:port, user:pass@ip:port, scheme://…, one per line or comma-separated. Duplicates and junk lines are dropped before the run starts, and you see exactly what was parsed.
- 02
Each proxy gets a real request, not a ping
We open a tunnel through the proxy to a judge endpoint, time the connect and the full round-trip, then read what the judge saw: your exit IP, forwarded headers, and whether the proxy leaked anything.
- 03
Filter, sort, export the survivors
Keep only alive, only elite, only under 300 ms, only from a country. Copy the clean list, or download txt, csv or json.
what you get back
Everything a proxy could be lying about, checked.
Per proxy, per run. The same fields in the table, the export and the API.
Anonymity level, judged honestly
Transparent, anonymous or elite, decided from the headers the judge actually received (Via, X-Forwarded-For, Forwarded), not from the proxy's own claim.
one real request through the tunnel, not a tcp ping
Latency you can compare
Connect time and full round-trip, measured on a real request through the tunnel, not a TCP handshake. Slow proxies are marked so you can cut them at a glance.
resolved from the judge's view of the exit ip
Exit country and ASN
Where the proxy actually exits, resolved from the judge's view of the exit IP. Useful for spotting proxies that claim one country and land in another.
Export the way your tools expect
Plain ip:port lists for scrapers, csv for spreadsheets, json for pipelines. Filters apply to the export.
Mobile, datacenter or residential
The exit IP is classified by its network: a carrier range, a hosting provider, or an ISP line. Mobile proxies are the ones that get through where datacenter ranges are already blocked.
REMOTE_ADDR 203.0.113.77 Via none TLS 1.3 · ECDHE DNS via proxy yes
Single check, deep detail
One proxy at a time gets the full report: every header the judge received, exit network and carrier, connect and round-trip timings, and a share link you can send to whoever sold you the proxy.
api
Same checker, one POST away.
Send a list, get the same fields the web checker shows, streamed back as server-sent events so you can act on each row the moment it answers. No key, same limits as the site.
- POST /api/check · sse stream
- POST /api/check/single · full report
- GET /api/report/:id · shared result
curl -N -X POST https://proxycanary.com/api/check \
-H "Content-Type: application/json" \
-d '{
"proxies": ["203.0.113.10:8080", "socks5://198.51.100.7:1080"],
"timeoutMs": 5000
}'event: start
data: {"type":"start","runId":"cmub8m…","total":2,"skipped":0}
event: result
data: {"type":"result","result":{"id":"0","status":"alive",
"protocol":"http","latencyMs":112,"connectMs":38,
"anonymity":"elite","exitIp":"203.0.113.10",
"countryCode":"DE","asn":"AS24940","mobile":false,"hosting":true}}
event: result
data: {"type":"result","result":{"id":"1","status":"dead",
"error":"connect_timeout"}}
event: done
data: {"type":"done","runId":"cmub8m…","alive":1,"dead":1,"durationMs":5210}questions
Things people ask before pasting a list.
From the network the exit IP belongs to. Carrier ranges (the ones phones get their addresses from) are flagged as mobile; hosting providers as datacenter; everything else as residential or ISP. It's a property of the IP, not of the proxy software.
The judge endpoint saw neither your real IP nor any header revealing a proxy is in use. "Anonymous" means your IP was hidden but a proxy header leaked. "Transparent" means your real IP was forwarded.
Up to 10,000 proxies per run, probed 200 at a time. Longer lists are cut at 10,000, so split them yourself and run twice. Each address can start 30 runs per 10 minutes.
Usually the target site is blocking the proxy's IP range, or the proxy only allows certain ports. We test against a neutral judge endpoint, so 'alive' means the proxy works, not that a specific site will let it in.
HTTP, HTTPS (CONNECT), SOCKS4 and SOCKS5. If you don't specify a scheme, we try each in order and report the first one that works.
It costs very little to run, and we'd rather people use it than pay for a bloated alternative. There is no premium tier and no plans for one.
no account · no tiers · no ads