---
title: "Check up to 1,000 at once"
method: POST
path: "/api/proxy-check"
tags: ["Proxy checker API"]
---

# Check up to 1,000 at once

`POST /api/proxy-check`

## Request

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

POST a JSON body with up to **1,000** proxies. They are checked in parallel and the answer comes back in one response within about 25 seconds: a few seconds when they are alive, longer when some never answer. The response is `{ "count": n, "results": [ ... ], "complete": true, "unchecked": 0 }` with the same per-proxy shape, one row for **every** line you sent. A line that did not get an answer inside the time budget comes back with `status: "unchecked"`, and `complete` is then `false`: retry those lines, or stream the list instead. Bigger lists belong on the streaming endpoint below, which takes up to 100,000 and reports each proxy the moment it settles.

## Request body

- object
  - `proxies` unknown[], required: Up to 1,000 proxy lines per request (ip:port, host:port:user:pass or user:pass@host:port).
    - unknown

## 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)
