Skip to main content

proxy-checker

PyPI Downloads License Python Stars

Fast async proxy validator — HTTP/HTTPS/SOCKS4/SOCKS5, 500+ proxies/minute.

Checks latency, anonymity level, and country. Works as a library or CLI tool.


Installation

pip install fast-proxy-checker          # HTTP/HTTPS support
pip install "fast-proxy-checker[socks]" # + SOCKS4/SOCKS5 support

Quick Start

CLI

# Check proxies from a file
proxy-checker check proxies.txt

# Check SOCKS5 proxies with custom concurrency
proxy-checker check proxies.txt --type socks5 --threads 200

# Export results to CSV
proxy-checker check proxies.txt --output results.csv --format csv

# Fetch fresh proxies from public sources and check them
proxy-checker fetch --count 100 --type http
proxy-checker fetch --count 50 --type socks5 --output alive.txt

Python API

import asyncio
from proxy_checker import check_proxies, ProxyType

async def main():
    proxies = ["1.2.3.4:8080", "5.6.7.8:3128"]
    async for result in check_proxies(proxies, ProxyType.HTTP, concurrency=100):
        if result.is_alive:
            print(f"{result.address}  {result.latency_ms}ms  [{result.country_code}]")

asyncio.run(main())

Features

  • Async — built on asyncio + aiohttp, checks hundreds of proxies in parallel
  • All protocols — HTTP, HTTPS, SOCKS4, SOCKS5
  • Anonymity detection — transparent / anonymous / elite
  • Country detection — via ip-api.com
  • Multiple output formats — TXT, CSV, JSON
  • Free proxy lists — auto-updated daily (see proxies/)
  • CLI + library — use from terminal or import in your code

💡 Need reliable proxies? Free lists work for testing, but production scraping needs stable providers. Check ProxyStats.io — independent benchmarks of residential & datacenter proxy providers with real-world latency, success rate, and cost data.


Free Proxy Lists (updated daily)

Auto-validated by this tool via GitHub Actions — only working proxies included:

List Type Raw URL
proxies/http.txt HTTP raw.githubusercontent.com/ProxyStats/proxy-checker/main/proxies/http.txt
proxies/socks4.txt SOCKS4 raw.githubusercontent.com/ProxyStats/proxy-checker/main/proxies/socks4.txt
proxies/socks5.txt SOCKS5 raw.githubusercontent.com/ProxyStats/proxy-checker/main/proxies/socks5.txt

Free proxies are unstable by nature — IPs die within hours. For production workloads see ProxyStats.io.

Output Example

  proxy-checker  checking 500 proxies  (concurrency=500, timeout=10s)

  OK  45.77.31.10:8080           234.1ms  elite         [US]
  OK  103.152.112.157:80         891.2ms  anonymous     [ID]
  OK  181.78.18.1:999            445.7ms  elite         [CO]
  ...

  Results: 87 alive / 413 dead / 500 total

  Need reliable proxies? → https://proxystats.io

CLI Reference

Usage: proxy-checker [OPTIONS] COMMAND [ARGS]...

Commands:
  check  Check proxies from a file
  fetch  Fetch free proxies from public sources and check them

Options for `check`:
  FILE                    Path to proxy list (one proxy per line)
  --type [http|https|socks4|socks5]   Default: http
  --threads INTEGER       Concurrency  [default: 500]
  --timeout FLOAT         Timeout per proxy in seconds  [default: 10.0]
  --output PATH           Save results to file
  --format [txt|csv|json] Output format  [default: txt]
  --all                   Show dead proxies too

Proxy List Format

One proxy per line. Scheme prefix is optional:

1.2.3.4:8080
socks5://10.0.0.1:1080
http://user:pass@1.2.3.4:3128

Python API Reference

from proxy_checker import check_proxy, check_proxies, ProxyType, ProxyResult

# Check a single proxy
result: ProxyResult = await check_proxy("1.2.3.4", 8080, ProxyType.HTTP)

# Check many proxies (async generator, yields as results arrive)
async for result in check_proxies(
    proxies,           # list of strings
    proxy_type=ProxyType.HTTP,
    concurrency=500,
    timeout=10.0,
):
    print(result.is_alive, result.latency_ms, result.country)

ProxyResult fields: host, port, proxy_type, is_alive, latency_ms, anonymity, country, country_code, error

Contributing

See CONTRIBUTING.md. PRs welcome.

git clone https://github.com/ProxyStats/proxy-checker
cd proxy-checker
pip install -e ".[socks]"
pytest tests/

License

MIT — see LICENSE


⭐ Star this repo if it helped you — it helps others discover it.

Made by ProxyStats — independent proxy benchmarks.

Release files for fast-proxy-checker 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fast-proxy-checker 1.0.2
File Size Uploaded
fast_proxy_checker-1.0.2.tar.gz 71.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fast-proxy-checker 1.0.2
File Interpreter ABI Platform
fast_proxy_checker-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 82.4 kB

Release files / fast_proxy_checker-1.0.2.tar.gz

Download URL fast_proxy_checker-1.0.2.tar.gz
Size 71.0 kB
Tags Source
SHA-256 checksum
How to use checksums
dcaeb25efe668f557bbe68eb69e28bb50ab16cda2d9277e79cec05fc731dbc8b
BLAKE2b-256 checksum
How to use checksums
fb9cd5b216b7acaad097327065b41eba277137add07547147cd18842fa28c11c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / fast_proxy_checker-1.0.2-py3-none-any.whl

Download URL fast_proxy_checker-1.0.2-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a65a50a5352713502219a759d1adcf02102661c5099d0ad0e1bc93fcc79f31b5
BLAKE2b-256 checksum
How to use checksums
5b1706e588fe08905d24682626d2e1d5f47d3e5b1aa0f13892888c7c3756b30f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page