Skip to main content

Free Verify Proxy

free_verify_proxy is a Python library that collects free proxies from various sources and verifies whether they are functional. It checks the reliability of proxies by making requests to multiple proxy detection servers. This library is useful for developers, researchers, and web scrapers who need working proxies for their applications.

Features

  • Scrapes free proxies from multiple public proxy lists.

  • Supports filtering proxies based on country, protocol, and anonymity level.

  • Multi-threaded proxy verification for high performance.

  • Uses multiple proxy judge URLs for accurate testing.

  • Returns a verified list of working proxies.

Proxy Sources

Public Proxy Lists (HTTP/HTTPS)

Proxy Judges/Checkers

HTTP/HTTPS

Note: The library uses many more proxy judges for better accuracy, ensuring reliable proxy verification.

Installation

You can install free_verify_proxy via pip:

pip install free-verify-proxy

or

pip install git+https://github.com/mominurr/free_verify_proxy.git

When installing free_verify_proxy using pip, the necessary dependencies (requests, curl_cffi, country_converter and beautifulsoup4) will be automatically installed along with the package. You don't need to separately install these dependencies.

Usage:

Parameters

  • countryCodes (list, optional):
    A list of country codes (ISO 3166-1 alpha-2 format) to filter proxies by location.
    Example: ["US", "IE", "FR"]
    Default: ["all"] (Includes proxies from all countries).

  • excludedCountries (list, optional):
    A list of country codes to exclude from the proxy list.
    Example: ["US", "CN"]
    Default: [] (No exclusion).

  • protocols (list, optional):
    A list of protocols to filter proxies by supported protocol type.
    Supported values: ["http", "https"]
    Example: ["http"]
    Default: ["all"] (Includes all protocol types).

  • anonymityLevels (list, optional):
    A list of anonymity levels to filter proxies by their anonymity.
    Supported values: ["transparent", "anonymous", "high", "elite"]
    Example: ["elite", "anonymous"]
    Default: ["all"] (Includes all anonymity levels).

  • number_of_threads (int, optional):
    Number of threads to use for parallel proxy verification.
    Default: 100.

  • timeout (tuple, optional):
    A timeout (connect, read) in seconds for proxy verification.
    Example: (5, 5) (5-second timeout for connection and read).
    Default: (5, 5).

Default Case (No Filters Applied):

If you don't need to apply any filters and want to retrieve and verify proxies from all countries, protocols, and anonymity levels, simply call the method without any arguments:

from free_verify_proxy import VerifyProxyLists

# Instantiate the VerifyProxyLists class
verify_proxy_lists = VerifyProxyLists()

# Retrieve the verified proxy list with no filters (includes all proxies)
verified_proxies = verify_proxy_lists.get_verifyProxyLists()

# Print the list of verified proxies
print(verified_proxies)

# Example Output:
[
  {'proxy': '3.127.121.101:80', 'countryCode': 'DE', 'protocol': 'http', 'anonymityLevel': 'elite'}, 
  {'proxy': '13.36.104.85:80', 'countryCode': 'FR', 'protocol': 'http', 'anonymityLevel': 'elite'},
  ...
  {'proxy': '15.236.106.236:3128', 'countryCode': 'FR', 'protocol': 'https', 'anonymityLevel': 'high anonymous'}
]

Custom Case (With Filters Applied):

You can also customize the filters to narrow down the list of proxies. Below is an example of how to filter proxies by country code, protocol, anonymity level, and more:

from free_verify_proxy import VerifyProxyLists

# Instantiate the VerifyProxyLists class
verify_proxy_lists = VerifyProxyLists()

# Retrieve the verified proxy list based on specific filters (optional)
verified_proxies = verify_proxy_lists.get_verifyProxyLists(
    countryCodes=["US", "FR"],           # Filter proxies by country codes (e.g., "US", "FR")
    protocols=["http", "https"],         # Filter proxies by protocol (e.g., "http", "https")
    anonymityLevels=["elite"],           # Filter proxies by anonymity level (e.g., "elite")
    excludedCountries=["CN"],            # Exclude proxies from specific countries (e.g., "CN")
    number_of_threads=150,               # Use 150 threads for parallel verification
    timeout=(5, 5)                       # Set connection and read timeout to 5 seconds
)

# Print the list of verified proxies
print(verified_proxies)

# Example Output:
[
  {'proxy': '3.127.121.101:80', 'countryCode': 'DE', 'protocol': 'http', 'anonymityLevel': 'elite'}, 
  {'proxy': '13.36.104.85:80', 'countryCode': 'FR', 'protocol': 'http', 'anonymityLevel': 'elite'},
  ...
  {'proxy': '13.54.47.197:80', 'countryCode': 'AU', 'protocol': 'https', 'anonymityLevel': 'elite'}
]

Contributing

Contributions are welcome! If you have any ideas, suggestions, or improvements, feel free to open an issue or create a pull request on GitHub.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for free-verify-proxy 2.0.4

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

Source distribution (sdist)

Source distribution for free-verify-proxy 2.0.4
File Size Uploaded
free_verify_proxy-2.0.4.tar.gz 12.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for free-verify-proxy 2.0.4
File Interpreter ABI Platform
free_verify_proxy-2.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 24.7 kB

Release files / free_verify_proxy-2.0.4.tar.gz

Download URL free_verify_proxy-2.0.4.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9919a4abcb160c6196a6cb80b9854e522559bb40ebf5877d4d55f240984bb4a0
BLAKE2b-256 checksum
How to use checksums
591d21fbaa495684e46f5bbad1dbe44471840818d52676d3e58d8e05547f0a93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Release files / free_verify_proxy-2.0.4-py3-none-any.whl

Download URL free_verify_proxy-2.0.4-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc00b1d415d6bb884333777f384d8645e5af07a69df2e7ea2325dee96547f826
BLAKE2b-256 checksum
How to use checksums
cf1c7a884568c898d1775605637e9f54bbcabed5735c53b08c939b3afa81d437
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.18

Release history Release notifications | RSS feed

This release

2.0.4 This release

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

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