Checking if proxies are alive in bulk: from web tools to scripts

Updated:

To check whether a batch of proxies is alive, send one small request through each proxy to a page that returns the visible IP, use a short timeout, and record which proxies return their own IP, which fail and how. For a few dozen proxies, a web-based checker is enough. For hundreds, or for regular checks, a curl loop or a parallel Python script is faster and more accurate. This guide covers all three, how to read the results, and what to do when a proxy looks dead.

Dedicated proxies that are easy to verify

What counts as a live proxy

A proxy is only truly alive when it passes four tests: you can connect to its IP and port, the username and password are accepted, it can open an HTTPS page through the tunnel, and the IP the site sees is the proxy IP. Many tools only check whether the port is open, so they report wrong-password proxies as alive.

So test against an HTTPS page that returns the IP, and compare the returned IP with the one in your list. Checking a single proxy in detail is covered in how to check a proxy; this guide is about doing it in bulk.

Method 1: a web-based proxy checker

The quickest option if you do not use the command line. Paste your list in ip:port:user:pass format, one per line, into the proxy checker. If your list uses another format such as user:pass@ip:port, convert it first with the proxy format converter.

The limitation is that results are measured from the tool's server, not your machine. A proxy that is alive in the tool but dead on your computer usually points to your own network or firewall.

Method 2: a curl loop on Linux or macOS

Save your list to proxies.txt, one ip:port:user:pass per line, then run:

while IFS=: read ip port user pass; do r=$(curl -s -m 10 -x "http://$user:$pass@$ip:$port" https://api.ipify.org || echo FAIL); echo "$ip:$port -> $r"; done < proxies.txt

Each output line shows the proxy and the IP it returned. If the returned IP matches the proxy IP, it is alive. FAIL means no answer within 10 seconds or a refusal. The loop runs one proxy at a time, so it is slow for long lists, but it needs nothing extra installed. On Windows, run it in WSL or Git Bash.

Method 3: a parallel Python script

For hundreds of proxies, running checks in parallel cuts the time from tens of minutes to a few. The script follows these steps using requests and the built-in concurrent.futures:

  • Read the file and split each line with ip, port, user, pw = line.strip().split(":").
  • Build the proxy URL p = f"http://{user}:{pw}@{ip}:{port}" and call requests.get("https://api.ipify.org", proxies={"http": p, "https": p}, timeout=10).
  • Record response time and returned IP, and catch error types separately: ProxyError, ConnectTimeout, ReadTimeout and status 407.
  • Run it with ThreadPoolExecutor(max_workers=20); there is no need to go higher, because the goal is checking, not generating load.
  • Write results to a CSV with proxy, status, returned IP and response time so you can filter and compare.
ResultMeaningNext step
Returned IP matches proxy IPAliveLog the response time for trend tracking
407Alive but wrong username or passwordRecheck credentials
Connection refusedPort closed or proxy expiredCheck expiry in the dashboard
TimeoutNo response within the limitRetest later and from another network
Returned IP differs from proxy IPTraffic used another route or setup is wrongRecheck the format and any bypass rules

Regular checks for proxies in use

If you run tools or manage many accounts, checking once a day or before each big run is enough. Avoid checking too often, since hammering the same IP-echo page is pointless traffic. Keep a history of results to tell a genuinely dead proxy from one that blipped during a single test. Organising large lists, retiring and replacing IPs is covered in proxy pool management.

What to do when a proxy looks dead

  • Retest from another network before deciding. One timeout is not enough to call it dead.
  • Check expiry in the dashboard. Expired proxies stop working; renew before expiry to keep the same IP.
  • Treat 407 separately: it is a credentials problem, not a dead proxy. See the 407 error guide.
  • Open a ticket with the failing IPs, error types and test times if the proxy is active but still not working. Technical faults are handled under the refund policy.

Frequently asked questions

Can I check if a proxy is alive with ping?

Not reliably. Ping only shows the server answers ICMP; it does not test the port, authentication or HTTPS. Some servers do not answer ping at all.

What timeout should I use for bulk checks?

Around 10 to 15 seconds works well. Too short marks distant proxies as dead; too long slows the whole run.

The proxy checks out as alive but a website still fails. Why?

A live proxy does not mean the target site accepts that IP. Test against the site you actually need and read the guide on websites blocking proxies.

Should I use hundreds of threads to check faster?

No need. Around 10 to 20 threads is fast enough for a few hundred proxies and does not put unusual load on the checking page.

Can a wrong format make a proxy look dead?

Yes. Swapped username and password or a missing port will make the check fail. Normalise your list to ip:port:user:pass first.

Dedicated proxies that are easy to verify

Each IP goes to one customer, delivered in standard ip:port:user:pass format with unlimited bandwidth and 24/7 ticket support.

See pricing

Related articles

Free tools
Proxy Checker: Check Your Proxies Online
Free proxy checker: paste up to 100 proxies as ip:port:user:pass and check proxy online for status, exit IP and latency. Learn what each error means.
Knowledge base
How to Check a Proxy Before You Use It
How to check a proxy step by step: confirm it connects, verify the IP and country, test speed with curl or an online checker, and fix 407 and timeout errors.
Knowledge base
Proxy Pool Management: From a List of IPs to a Stable System
How to manage a proxy pool for scraping and tools: an IP inventory, periodic health checks, allocation by task, a retry policy, logging and tracking renewals.
Free tools
Bulk Proxy Format Converter (100% Client-Side)
100% client-side bulk proxy list formatter. Convert between ip:port:user:pass, user:pass@ip:port, http:// URLs, SOCKS5 URIs, JSON arrays, and FoxyProxy exports.
Products
Static residential ISP proxies
Static residential ISP proxies in the United States and Vietnam. IPs registered to consumer internet providers, dedicated to one customer, unlimited bandwidth.
Products
Private IPv4 datacenter proxies
Buy private IPv4 datacenter proxies in the US, Vietnam, Japan, South Korea, Singapore, the UK and Hong Kong. HTTP(S), unlimited bandwidth, auto activation.
ISP · vietnam
Vietnam Static ISP Proxies: Home-Network Vietnamese IPs for Your Most Valuable Accounts
Vietnam static ISP proxies on consumer internet provider IPs. A fixed Vietnamese IP for main Shopee shops, TikTok Shop, Facebook ad accounts and Zalo OA.
IPV4 · united states
US Private IPv4 Proxies: Fast, Dedicated American Datacenter IPs
Dedicated US private IPv4 proxies for scraping, rank tracking, ad checks and Amazon research. Static IP, one user per IP, unlimited bandwidth, fast activation.