HProxy/ docs

Quickstart

Three steps to your first call.

  1. 1
    Get a key
    Generate one in your dashboard. Keys look like hpx_… and authenticate every request.
  2. 2
    Call an endpoint
    POST to /v1/scrape/{platform}/{action} with a small JSON body. GET with query params works too.
  3. 3
    Get clean JSON
    Parsed, structured data in a predictable envelope. Plus the run id and the exact cost of the call.

Your first call

Here's a complete example against the Instagram Profile endpoint — cURL, Node.js and Python:

curl https://hproxy.com/v1/scrape/instagram/profile \
  -H "Authorization: Bearer $HPROXY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"handle":"levelsio"}'
Response
{
  "platform": "instagram",
  "scraper": "instagram-profile-collect-by-handle",
  "input": {
    "handle": "levelsio"
  },
  "data": {
    "data": {
      "user": {
        "biography": "Explore the universe and discover our home planet with @NASA, the official NASA Instagram account.",
        "external_url": "https://www.nasa.gov",
        "edge_followed_by": {
          "count": 96500000
        },
        "edge_follow": {
          "count": 78
        },
        "full_name": "NASA",
        "id": "528817151",
        "is_business_account": true,
        "is_verified": true,
        "profile_pic_url_hd": "https://scontent-lga3-1.cdninstagram.com/v/t51.2885-19/280722101_412901447453676_….jpg",
        "username": "nasa",
        "edge_owner_to_timeline_media": {
          "count": 4218,
          "edges": [
            {
              "node": {
                "__typename": "GraphVideo",
                "id": "3622533050035914969",
                "shortcode": "DJF0p2ygMjZ",
                "display_url": "https://scontent-lga3-1.cdninstagram.com/v/t51.2885-15/491901123_….jpg",
                "edge_media_to_caption": {
                  "edges": []
                },
                "edge_media_to_comment": {
                  "count": 1428
                },
                "taken_at_timestamp": 1746059630,
                "edge_liked_by": {
                  "count": 412705
                }
              }
            }
          ]
        }
      }
    }
  },
  "records": 1,
  "costUsd": 0.01,
  "requestId": "run_3Qm8x2V7nKp4dWcF",
  "elapsedMs": 1840
}
Failed scrapes (a 4xx/5xx from the source site) are never billed. You only pay for a successful, parsed result. Minimum $0.01 per call.
Was this helpful?