---
title: "The whole live list in one call"
method: GET
path: "/api/proxy-list"
tags: ["Free proxy list API"]
---

# The whole live list in one call

`GET /api/proxy-list`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/proxy-list`
- Auth: none required

One GET returns **every working proxy we have**, as `txt`, `json` or `csv`. Not a sample and not a teaser: HTTP, HTTPS, SOCKS4 and SOCKS5, all of it, in a single call. No key, no signup. CORS is enabled, so you can call it straight from a browser. Fair-use rate limit of about 120 requests per minute per IP, with bursts up to 120 (a clean `429` with `Retry-After` beyond that). This is the same data behind the [free proxy list](/free-proxy-list).

**How many is that?** Thousands at any moment, and tens of thousands within two days, because that is how many public proxies on Earth are actually answering. It moves every few minutes as proxies die and new ones are found, so treat any number written here as a rough order of magnitude and never as the truth. `X-Total-Available` on the response is the exact count matching your filter, and `X-Total-Count` is how many came back in this particular response. If the two are equal you already have everything and there is no next page.

**Why you will see 10,000 mentioned below.** That is the most rows a single response will carry *when you ask for a specific number*. It is a page size, not a cap on what you are allowed to have. **Omit `limit` entirely and you get the complete matching set in one response**, however large it is. The page size only comes into play when you pass `limit` yourself, or on a set big enough that we page it for you (`recent=true`).

## Query parameters

- `format` string
- `protocol` string
- `country` string
- `anonymity` string
- `asn` number
- `port` string
- `subnet` string
- `min_uptime_pct` string
- `max_latency_ms` string
- `sort` string
- `limit` string
- `offset` string
- `recent` string

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input. The body names the field and the accepted set.
- `401`: Missing or invalid API key.
- `429`: Rate limited. Retry after the delay in the response.

---

[API](https://skmtc.dev/hproxy/apis/hproxy-api.md) · [All operations](https://skmtc.dev/hproxy/apis/hproxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hproxy/apis/hproxy-api/revisions/9f6898fe76e2?raw)
