US proxies are the most requested proxy type by a wide margin. The reasons are straightforward: the US has the largest e-commerce market, the most active digital advertising ecosystem, and most major platforms - Amazon, Google, Netflix, Hulu, major news sites, streaming services - serve their primary content to US IPs. If you're scraping US pricing data, verifying US ad campaigns, or accessing US-only content, you need a US IP.
The free proxy market for US IPs reflects this demand. There are more US IPs in free proxy lists than any other country - and more burned, blocked, and abused US IPs too. Here's how to find what actually works, how to test it efficiently, and when the free route stops making sense.
Where Free US Proxy Lists Come From
Free US proxies in public lists come from a few sources: open proxy servers accidentally or intentionally exposed to the internet, volunteer-run proxy networks, and scraped lists of proxies that were briefly functional before being flagged. The supply is larger than any other country, but so is the demand - which means US IPs in free lists burn faster than regional IPs.
The best sources for US-specific free proxies in 2026:
free-proxy-list.net - filter by country "US." The largest single source of US IPs in free lists, updated frequently. In practice, alive rate runs 20–30% at any given time.
ProxyScrape API - pull US IPs directly: https://api.proxyscrape.com/v2/?request=getproxies&country=us&protocol=http. Returns a plain text list, easy to feed into a testing script.
Spys.one - filter by United States, shows latency and last check timestamp per IP. One of the better sources for identifying recently verified IPs before testing.
HideMyName.com - country filter for US, with anonymity level and protocol visible. Good for finding "elite" anonymity US IPs specifically.
NodeMaven US free proxy list - maintains a country-filtered list of US HTTP and SOCKS5 proxies updated regularly. Same free-proxy caveats apply, but it saves the step of filtering a global list down to US IPs manually.
GitHub aggregators - search "US proxy list" on GitHub sorted by recently updated. Several repos scrape from multiple sources and commit fresh lists hourly or daily.
The Reality of Free US Proxy Quality
US IPs are the most burned proxy category in any free list. High demand means high abuse rates, which means high block rates. Based on testing 200 free proxies from mixed sources (roughly 80 were US IPs):
Alive rate on US IPs: ~21% (vs ~23% overall)
Average TTFB on alive US IPs: 3.4 seconds
Success rate on Amazon.com (product pages): ~34%
Success rate on Google.com (search): ~9%
Transparent proxies (exposing real IP): ~35%
The Amazon and Google numbers tell the most important story. US e-commerce and US search - two of the primary reasons people want US proxies - have success rates under 35% and 10% respectively on free proxy infrastructure. The IPs are in known datacenter ranges that Amazon and Google flag immediately.
Python Script: Bulk Testing a US Proxy List
For a developer workflow, testing a list of proxies before using them is the difference between a script that runs and one that fails on every request. Here's a complete bulk tester that checks connectivity, anonymity level, and target-specific success:
import requests
import time
import csv
from concurrent.futures import ThreadPoolExecutor, as_completed
from dataclasses import dataclass, field
from typing import Optional
@dataclass
class ProxyTestResult:
proxy: str
alive: bool = False
ttfb_ms: Optional[float] = None
anonymity: str = "unknown" transparent / anonymous / elite
amazon_ok: bool = False
google_ok: bool = False
error: Optional[str] = None
HEADERS = {
"User-Agent": (
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
"AppleWebKit/537.36 (KHTML, like Gecko) "
"Chrome/125.0.0.0 Safari/537.36"
),
"Accept-Language": "en-US,en;q=0.9",
}
def check_anonymity(proxy: str, your_real_ip: str, timeout: int) -> str:
"""Check if proxy leaks real IP via X-Forwarded-For."""
try:
proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"}
r = requests.get(
"https://httpbin.org/headers",
proxies=proxies,
timeout=timeout
)
headers = r.json().get("headers", {})
forwarded = headers.get("X-Forwarded-For", "")
if your_real_ip in forwarded:
return "transparent"
elif forwarded:
return "anonymous"
else:
return "elite"
except:
return "unknown"
def test_proxy(proxy: str, your_real_ip: str, timeout: int = 10) -> ProxyTestResult:
result = ProxyTestResult(proxy=proxy)
proxies = {"http": f"http://{proxy}", "https": f"http://{proxy}"}
Step 1: Basic connectivity + TTFB
try:
start = time.perf_counter()
r = requests.get(
"https://httpbin.org/status/200",
proxies=proxies,
headers=HEADERS,
timeout=timeout
)
if r.status_code == 200:
result.alive = True
result.ttfb_ms = round((time.perf_counter() - start) * 1000, 1)
else:
return result
except Exception as e:
result.error = str(e)[:60]
return result
Step 2: Anonymity check
result.anonymity = check_anonymity(proxy, your_real_ip, timeout)
if result.anonymity == "transparent":
return result Skip further tests - IP leaks real address
Step 3: Amazon product page
try:
r2 = requests.get(
"https://www.amazon.com/dp/B08N5WRWNW",
proxies=proxies,
headers=HEADERS,
timeout=timeout
)
result.amazon_ok = r2.status_code == 200 and "Add to Cart" in r2.text
except:
result.amazon_ok = False
Step 4: Google search
try:
r3 = requests.get(
"https://www.google.com/search?q=proxy+test",
proxies=proxies,
headers=HEADERS,
timeout=timeout
)
result.google_ok = r3.status_code == 200 and "













