---
title: "The envelope, field by field"
method: GET
path: "/api/v1/scrape/{platform}/{action}"
tags: ["The response envelope"]
---

# The envelope, field by field

`GET /api/v1/scrape/{platform}/{action}`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/v1/scrape/{platform}/{action}`
- Auth: API key in header `X-API-Key`

Every scraper call returns the same stable envelope. `data` is the platform's structured payload; everything else is bookkeeping. `costUsd` is the call's exact price (for a $0.00149 scraper it reads `0.0015`, there is no minimum). `walletDebitUsd` is what actually left your wallet on **this** call: fractional costs accrue on a running tab and settle in whole cents, so it reads `0` on most calls and `0.01` as the tab crosses each cent. Summing either field over many calls converges on the same total.

## Path parameters

- `platform` string, required
- `action` string, required

## Query parameters

- `scraper` string
- `input` object
- `data` object
- `records` integer
- `costUsd` number
- `walletDebitUsd` number
- `idempotentReplay` boolean
- `requestId` string
- `elapsedMs` integer

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