Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gfpcom/freeproxy-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

GetFreeProxy — Python client

This is a small, typed Python client for the GetFreeProxy API (https://developer.getfreeproxy.com).

About the API

The GetFreeProxy API exposes a simple endpoint to fetch public proxy servers:

  • GET /v1/proxies — returns a JSON array of proxy objects. Optional query parameters include country, protocol, and page.

Each proxy object contains fields such as ip, port, protocol, proxyUrl, countryCode, anonymity, uptime, and timestamps like lastAliveAt.

Key behaviours of this client

  • Minimal runtime dependency (httpx).
  • Synchronous Client and asynchronous AsyncClient classes with simple query(...) methods.
  • Returns a list of Proxy dataclasses (fields mapped to Pythonic names, e.g. country_code).
  • Raises typed exceptions on errors: APIError, InvalidAPIKey, NetworkError, TimeoutError, ParseError.

Installation

Install from PyPI (when published) or locally in editable mode during development:

pip install freeproxy-python
# or local editable install for development:
pip install -e .[dev]

Quick examples

Sync example:

from freeproxy import Client
client = Client(api_key="YOUR_API_KEY")
proxies = client.query(country="US", protocol="https")
for p in proxies:
 print(p.to_url())
client.close()

Async example:

import asyncio
from freeproxy import AsyncClient
async def main():
 client = AsyncClient(api_key="YOUR_API_KEY")
 proxies = await client.query(country="US")
 for p in proxies:
 print(p.to_url())
 await client.aclose()
asyncio.run(main())

Authentication

Provide your API key to the client constructor. The client sends Authorization: Bearer <API_KEY> in requests.

Query parameters

  • country: ISO 3166-1 alpha-2 country code (e.g. US).
  • protocol: proxy protocol filter like http, https, socks5.
  • page: pagination page index (integer).

Errors and exceptions

  • APIError is raised for non-2xx HTTP responses. The message attempts to surface the API error field when present, otherwise it falls back to the response body.
  • InvalidAPIKey is a subclass used when the API returns HTTP 401.
  • NetworkError and TimeoutError wrap transport-level failures.

Notes and limitations

  • This client intentionally keeps runtime dependencies minimal and does not implement automatic retries. It also does not stream responses — responses are small (up to ~10 proxies per request).

Testing

Run the test suite locally with:

pip install -e .[dev]
pytest -q

License

MIT

About

Python library for the GetFreeProxy API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /