BuyProxy logo
Log inSign up

Reseller API

Customers

Create a customer

Creates a new, fully isolated proxy account. Credit and plans start empty — see Usage to fund it.

POST /v1/customers
Content-Type: application/json

{ "label": "acme-inc" }
{
  "username": "bp_acmeinc_a1b2c3d4",
  "label": "acme-inc",
  "status": "active",
  "createdAt": "2026-08-22T10:00:00.000Z"
}

List customers

GET /v1/customers

{
  "customers": [
    { "username": "bp_acmeinc_a1b2c3d4", "label": "acme-inc", "status": "active", "createdAt": "2026-08-22T10:00:00.000Z" }
  ]
}

Get a customer

Includes every active plan on the account — each plan's id is what you pass to Generate a proxy below.

GET /v1/customers/{username}

{
  "username": "bp_acmeinc_a1b2c3d4",
  "label": "acme-inc",
  "status": "active",
  "plans": [
    { "id": "plan_9f2a...", "productId": "residential-premium", "remainingGb": 12.4, "expiresAt": null }
  ],
  "createdAt": "2026-08-22T10:00:00.000Z"
}

Generate a proxy

Issues a fresh, on-demand connection string against one of the customer's plans. Lines aren't persistent — call this whenever your integration needs a proxy, don't cache or store the result.

POST /v1/customers/{username}/generate
Content-Type: application/json

{
  "planId": "plan_9f2a...",
  "protocol": "http",
  "country": "US",
  "state": "California",
  "city": "Los Angeles",
  "stickyMinutes": 10
}
{
  "lines": ["acme_a1b2-country-us:xyz789@gw.buyproxy.org:6969"]
}

country, state, city, and isp are all optional — omit any of them for a worldwide, rotating IP. country takes a two-letter ISO code (US, DE). Set stickyMinutes to keep the same IP for up to 60 minutes; omit it for a fresh IP on every request.

Was this page helpful?