Skip to main content

Proxies (white-label)

Lupin resells residential proxy capacity through its own API. Your end customers create proxy users, receive connection credentials, and never think about traffic again — quotas refill themselves from your pool. They never see the upstream provider.

The whole integration

That’s it. The customer gets a connection block (host, port, username, password, http + socks5) and a 1024 MB quota that tops itself back up whenever it runs low. No top-up calls, no balance checks.
Hand the connection block to your customer as-is. No upstream names, dashboards, or provider references are ever included in responses.

How autopilot works

  • Quota (quota_mb) is the balance we maintain per user. Omit it and the user is created with whatever traffic_mb you pass (or 0).
  • Usage (used_mb) is derived as cumulative allocated minus upstream remaining, synced on every read plus a 5-minute background sweep.
  • Refill: when remaining balance drops below the low-water mark (10% of quota, min 100 MB, or your custom low_threshold_mb), we move traffic from your pool automatically. auto_refill: false opts a user out.
  • Pool dry: if a refill fails, you get a proxy.pool.low webhook event — you top up the pool once instead of every customer managing balances.

Advanced (ops only)

These exist for your own tooling — your customers should never need them:
List responses use the standard envelope: {count, limit?, next_page_token?, items} — here the items key is proxy_users.

Errors

Error payloads follow the standard shape {name, code?, message, fix?, docs?} — see Conventions.

SDK / CLI