---
title: "Download the results"
method: GET
path: "/api/v1/proxy-check/jobs/{id}/results"
tags: ["Proxy checker API"]
---

# Download the results

`GET /api/v1/proxy-check/jobs/{id}/results`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/v1/proxy-check/jobs/{id}/results`
- Auth: API key in header `X-API-Key`

Everything that has settled, in the format you ask for. It works on a running job too, so you can start reading before the list is finished — and reading does not consume anything: the file stays until the job expires, so you can download it as often as you like.

`format=ndjson` (the default) is one result row per line, the exact shape every checker endpoint returns. `format=txt` is the working proxies only, one line per proxy, ready to paste straight back into whatever you feed proxies to. `format=csv` is a spreadsheet with a header row. Add `only=alive` to drop the dead rows from any format. `txt` and `csv` come back as a download; ndjson streams.

After the retention window the job reads `expired` and this answers `410`.

## Path parameters

- `id` string, required

## Query parameters

- `X-API-Key` string, required
- `format` string
- `only` 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)
