// DOCS
// DOCSv2

ProxyRise documentation

Complete reference for proxy usage, API endpoints, the reseller program, and datacenter coverage. Everything you need to get started and integrate with your tools.

Getting started

01Register

Go to /register. Complete the Turnstile captcha. You receive an API key and a login token.

02Login

Go to /login. Paste your API key, complete Turnstile. A session token is set as a cookie.

03Dashboard

Open /dashboard. View your usage, manage sessions, generate proxy strings, and monitor real-time stats.

04Connect

Use any HTTP/SOCKS client. Set the proxy to HOST:3389 with your username format and API key as the password.

Proxy types

7 proxy types are available. Each type determines how IPs are assigned and rotated.

res
Residential (Rotating)Rotates IP on every request. Best for scraping and general use.
res_sc
Residential (State/City)Target a specific US state and city with rotating residential IPs.
resfix
Residential (Long Session)Hold the same IP for extended sessions using NNID identifiers.
stc
Static ISP ResidentialISP-grade static IPs that don't rotate. Great for accounts and automation.
stc_sc
Static ISP (State/City)Static ISP IPs targeted to a specific state and city.
mob
MobileReal mobile carrier IPs (3G/4G/5G). Highest trust scores.
dc
DatacenterFast datacenter IPs. Cheapest bandwidth, best for speed-critical tasks.

Use ANY as the country code to get a random location. Use gb or uk interchangeably for United Kingdom (auto-mapped).

Authentication

Every proxy request requires authentication. Your API key (starts with pgw-) is your password. The username determines the proxy type, country, and routing options.

# HTTP / HTTPS proxy
Proxy-Authorization: Basic base64(username:api_key)

# SOCKS5
username = proxy_username    (e.g. res-us)
password = api_key           (e.g. pgw-abc123...)

# SOCKS4 / SOCKS4a
userid = username:api_key    (e.g. res-us:pgw-abc123...)

# API endpoints (non-proxy)
Header: X-Api-Key: pgw-abc123...
   or
Header: Authorization: Bearer <login_token>

Username format

The username controls routing. The password is always your API key.

Basic (country only)

{type}-{country}

res-us          # Residential rotating, United States
stc-nl          # Static ISP, Netherlands
mob-uk          # Mobile, United Kingdom
dc-de           # Datacenter, Germany

Sticky session (same IP for multiple requests)

{type}-{country}-sid-{session_id}

res-us-sid-123456789    # Same IP while session is alive
stc-jp-sid-987654321    # Static sticky session

State / City targeting

{type}_sc-{country}_{state}_{city}

res_sc-us_california_losangeles     # Residential, LA
res_sc-us_new_york_newyork          # Residential, NYC
stc_sc-us_texas_dallas              # Static ISP, Dallas
res_sc-us_florida_miami             # Residential, Miami

State and city names are lowercase, no spaces. Multi-word names merge into one word or use underscores in the state part.

Long session (NNID)

resfix-{country}-nnid-{session_id}

resfix-us-nnid-0       # Hold same IP for extended time
resfix-uk-nnid-42      # Different session ID = different IP

Use different NNID values (0, 1, 2, ...) to get different long-lived IPs.

ASN targeting

{type}_sc-ASN{number}

res_sc-ASN12345         # Route through specific ISP/ASN

Supported protocols

All protocols auto-detect on a single port (3389). No configuration needed — just connect with your client's native protocol.

HTTP

Standard HTTP proxy with CONNECT tunneling for HTTPS sites.

HTTPS (TLS)

TLS-encrypted connection to the proxy itself. Use --proxy-insecure for self-signed cert.

SOCKS5

Full SOCKS5 with username/password auth. Best compatibility.

SOCKS4

SOCKS4 protocol. Auth via userid field as username:api_key.

SOCKS4a

SOCKS4a with remote DNS. Auth same as SOCKS4.

WebSocket

Custom TCP tunnel via WebSocket frames for advanced use cases.

Code examples

cURL

# HTTP proxy
curl -x "http://res-us:YOUR_API_KEY@HOST:3389" \
  https://httpbin.org/ip

# HTTPS proxy (TLS to proxy)
curl --proxy "https://res-us:YOUR_API_KEY@HOST:3389" \
  --proxy-insecure https://httpbin.org/ip

# SOCKS5
curl -x "socks5://res-us:YOUR_API_KEY@HOST:3389" \
  https://httpbin.org/ip

# Sticky session
curl -x "http://res-us-sid-123456:YOUR_API_KEY@HOST:3389" \
  https://httpbin.org/ip

# State / City
curl -x "http://res_sc-us_california_losangeles:YOUR_API_KEY@HOST:3389" \
  https://httpbin.org/ip

Python (requests)

import requests

API_KEY = "pgw-your-api-key"
HOST = "172.65.145.196"

# Rotating residential US
proxies = {
    "http": f"http://res-us:{API_KEY}@{HOST}:3389",
    "https": f"http://res-us:{API_KEY}@{HOST}:3389",
}
r = requests.get("https://httpbin.org/ip", proxies=proxies)
print(r.json())

# Sticky session
proxies = {
    "http": f"http://res-us-sid-12345:{API_KEY}@{HOST}:3389",
    "https": f"http://res-us-sid-12345:{API_KEY}@{HOST}:3389",
}
r = requests.get("https://httpbin.org/ip", proxies=proxies)
print(r.json())

Node.js (undici / fetch)

import { ProxyAgent } from "undici";

const API_KEY = "pgw-your-api-key";
const agent = new ProxyAgent(
  `http://res-us:${API_KEY}@172.65.145.196:3389`
);

const res = await fetch("https://httpbin.org/ip", {
  dispatcher: agent,
});
console.log(await res.json());

Environment variables

export HTTP_PROXY="http://res-us:YOUR_API_KEY@HOST:3389"
export HTTPS_PROXY="http://res-us:YOUR_API_KEY@HOST:3389"
export ALL_PROXY="socks5://res-us:YOUR_API_KEY@HOST:3389"

# Now any CLI tool that reads these vars will use the proxy
curl https://httpbin.org/ip
wget -qO- https://httpbin.org/ip

Sessions

Sessions let you manage named proxy configurations in your dashboard. Create sessions with a specific type, country, and optional city. Each session gets a numeric session_id used for sticky routing.

# API: Create a session
POST /user/sessions
Content-Type: application/json
X-Api-Key: pgw-your-key

{ "name": "US Scraper", "proxy_type": "res", "country": "us" }

# API: List sessions
GET /user/sessions

# API: Delete session
DELETE /user/sessions/:id

# API: Generate proxy string
POST /user/proxy-string
{ "proxy_type": "res", "country": "us", "protocol": "http" }

Sticky sessions append -sid-SESSION_ID to the username to reuse the same IP across multiple requests. The session stays alive as long as traffic flows through it.

Long sessions (resfix) use -nnid-N to hold the same IP for minutes to hours. Use different N values (0, 1, 2...) for different long-lived IPs.

Country coverage

203 countries available for residential, static ISP, and mobile proxy types. Use the 2-letter country code in your username. Use ANY for random location.

North America (36)

USUnited States
CACanada
MXMexico
PRPuerto Rico
GTGuatemala
HNHonduras
SVEl Salvador
NINicaragua
CRCosta Rica
PAPanama
BZBelize
CUCuba
JMJamaica
HTHaiti
DODominican Republic
TTTrinidad and Tobago
BSBahamas
BBBarbados
AGAntigua and Barbuda
DMDominica
GDGrenada
KNSaint Kitts and Nevis
LCSaint Lucia
VCSaint Vincent
AIAnguilla
AWAruba
BMBermuda
CWCuracao
GLGreenland
GPGuadeloupe
KYCayman Islands
MQMartinique
SXSint Maarten
TCTurks and Caicos
VGBritish Virgin Islands
VIUS Virgin Islands

Europe (51)

UKUnited Kingdom
DEGermany
FRFrance
NLNetherlands
ITItaly
ESSpain
SESweden
NONorway
DKDenmark
FIFinland
PLPoland
ATAustria
BEBelgium
CHSwitzerland
PTPortugal
IEIreland
CZCzech Republic
RORomania
HUHungary
GRGreece
BGBulgaria
HRCroatia
SKSlovakia
SISlovenia
RSSerbia
UAUkraine
BYBelarus
LTLithuania
LVLatvia
EEEstonia
ISIceland
LULuxembourg
MTMalta
ALAlbania
BABosnia and Herzegovina
MEMontenegro
MKNorth Macedonia
MDMoldova
ADAndorra
MCMonaco
SMSan Marino
LILiechtenstein
VAVatican City
XKKosovo
GGGuernsey
JEJersey
IMIsle of Man
GIGibraltar
FOFaroe Islands
AXAland Islands
SJSvalbard and Jan Mayen

Asia (52)

JPJapan
KRSouth Korea
CNChina
TWTaiwan
HKHong Kong
MOMacao
SGSingapore
MYMalaysia
THThailand
VNVietnam
IDIndonesia
PHPhilippines
INIndia
BDBangladesh
PKPakistan
LKSri Lanka
NPNepal
KHCambodia
LALaos
MMMyanmar
BNBrunei
MNMongolia
KGKyrgyzstan
KZKazakhstan
UZUzbekistan
TJTajikistan
TMTurkmenistan
AZAzerbaijan
GEGeorgia
AMArmenia
TRTurkey
CYCyprus
ILIsrael
JOJordan
LBLebanon
IQIraq
IRIran
SASaudi Arabia
AEUnited Arab Emirates
QAQatar
KWKuwait
BHBahrain
OMOman
YEYemen
SYSyria
PSPalestine
AFAfghanistan
BTBhutan
MVMaldives
TLTimor Leste
KPNorth Korea
RURussia

South America (14)

BRBrazil
ARArgentina
CLChile
COColombia
PEPeru
VEVenezuela
ECEcuador
UYUruguay
PYParaguay
BOBolivia
GYGuyana
SRSuriname
GFFrench Guiana
FKFalkland Islands

Africa (57)

ZASouth Africa
NGNigeria
EGEgypt
KEKenya
GHGhana
MAMorocco
TNTunisia
DZAlgeria
ETEthiopia
TZTanzania
UGUganda
RWRwanda
SNSenegal
CIIvory Coast
CMCameroon
AOAngola
MZMozambique
MGMadagascar
ZMZambia
ZWZimbabwe
BWBotswana
NANamibia
MUMauritius
GAGabon
CDDR Congo
CGCongo
MLMali
BFBurkina Faso
NENiger
TDChad
SDSudan
SSSouth Sudan
SOSomalia
DJDjibouti
EREritrea
LYLibya
MWMalawi
LSLesotho
SZEswatini
SCSeychelles
CVCape Verde
KMComoros
GMGambia
GNGuinea
GWGuinea-Bissau
GQEquatorial Guinea
BJBenin
TGTogo
SLSierra Leone
LRLiberia
CFCentral African Republic
BIBurundi
STSao Tome and Principe
MRMauritania
REReunion
YTMayotte
EHWestern Sahara

Oceania (24)

AUAustralia
NZNew Zealand
FJFiji
PGPapua New Guinea
NCNew Caledonia
PFFrench Polynesia
GUGuam
SBSolomon Islands
VUVanuatu
WSSamoa
TOTonga
FMMicronesia
KIKiribati
MHMarshall Islands
PWPalau
NRNauru
TVTuvalu
CKCook Islands
NUNiue
TKTokelau
NFNorfolk Island
MPNorthern Mariana Islands
ASAmerican Samoa
WFWallis and Futuna

Datacenter locations

Datacenter proxies (dc type) are available in 23 countries with dedicated server infrastructure. Fastest speeds and lowest cost per GB.

AUAustralia
ATAustria
BEBelgium
BRBrazil
CACanada
FRFrance
DEGermany
HKHong Kong
INIndia
ITItaly
JPJapan
MXMexico
NLNetherlands
PLPoland
RORomania
SGSingapore
KRSouth Korea
ESSpain
SESweden
TRTurkey
AEUnited Arab Emirates
UKUnited Kingdom
USUnited States

API reference

Public endpoints (no auth)

GET  /health            # Service status
GET  /countries         # All 203 supported countries
GET  /types             # All 7 proxy types
GET  /proxy-config      # Proxy host, port, protocols, formats
GET  /plans             # Available payment plans with pricing

Authentication (Turnstile captcha required)

POST /auth/register
  Body: { "name": "string", "turnstile_token": "string" }
  Returns: { "api_key": "pgw-...", "token": "lt-..." }

POST /login
  Body: { "api_key": "pgw-...", "turnstile_token": "string" }
  Returns: { "token": "lt-..." }

POST /auth/verify
  Header: Authorization: Bearer lt-...
  Returns: { "valid": true, "user": {...} }

User endpoints (X-Api-Key or Bearer token)

GET    /user/me                  # Your profile, usage, limits
GET    /user/sessions            # List your sessions
POST   /user/sessions            # Create session
PATCH  /user/sessions/:id        # Update session
DELETE /user/sessions/:id        # Delete session
POST   /user/proxy-string        # Generate proxy connection string

/user/me returns your full profile including: name, API key, data used, data limit, active status, unlimited status, plan info, and reseller status if applicable.

WebSocket (real-time)

Connect to the WebSocket to receive real-time updates about your sessions, usage, and bandwidth.

# Connect with your API key
wss://backend-panel.niansuh.dev/ws?api_key=pgw-...

Client messages you can send:

{"type": "ping"}
{"type": "pong"}
{"type": "get_sessions"}
{"type": "get_stats"}
{"type": "subscribe", "events": [
  "session_created",
  "session_deleted",
  "session_rotated",
  "request_log",
  "usage_update",
  "payment_completed"
]}

Server messages you receive:

# Connection confirmation
{"type": "connected", "role": "user", "user": {...}}

# Your statistics
{"type": "stats", "data_used_gb": 12.5, "data_limit_gb": 100}

# Real-time events
{"type": "request_log", ...}          # Per-request logging
{"type": "usage_update", ...}         # Data usage change
{"type": "session_created", ...}      # New session
{"type": "session_deleted", ...}      # Session removed
{"type": "session_rotated", ...}      # IP rotated
{"type": "payment_completed", ...}    # Payment processed
{"type": "unlimited_expired", ...}    # Unlimited plan ended

Reseller program

The reseller program lets you create and manage sub-users under your account. Sub-users get their own API keys and can use the proxy independently, but their data is deducted from your pool.

How it works

1. Contact support to enable reseller status on your account and set a max sub-user limit.

2. Your total data limit (e.g. 100 GB) becomes a shared pool.

3. You allocate portions of this pool to sub-users when creating them.

4. Usage is tracked dually: against both the sub-user and your parent account.

Pool allocation example

# Your account: 100 GB total
# Create sub-user A with 30 GB
# Create sub-user B with 20 GB
# Remaining pool: 100 - 30 - 20 = 50 GB

# Sub-user A uses 10 GB of their 30 GB:
#   Sub-user A data_used: 10 GB
#   Your data_used: +10 GB (dual tracking)

# Reclaim from sub-user A (used 10 of 30 GB):
#   Sub-user A limit shrinks to 10 GB
#   You get 20 GB back in your pool

Key rules

• Sub-users cannot be resellers themselves (no nesting).

• If your pool runs out, sub-user proxy requests are rejected.

• Sub-users authenticate with their own API key, same proxy format.

• Manage sub-users via the Reseller tab in your dashboard or via API.

Reseller API reference

All reseller endpoints require your API key (with reseller permissions) via X-Api-Key header or Authorization: Bearer token.

Status & stats

GET /user/reseller/status
  Returns: {
    "is_reseller": true,
    "max_sub_users": 50,
    "current_sub_users": 12,
    "data_limit_gb": 100,
    "allocated_gb": 45.5,
    "remaining_pool_gb": 54.5
  }

GET /user/reseller/stats
  Returns: {
    "total_sub_users": 12,
    "active_sub_users": 10,
    "total_allocated_gb": 45.5,
    "total_used_gb": 22.3,
    "today_usage_gb": 1.2
  }

Sub-user CRUD

# List all sub-users
GET /user/reseller/sub-users

# Create sub-user
POST /user/reseller/sub-users
  Body: { "name": "Client A", "data_limit_gb": 10 }
  Returns: { "id": 42, "api_key": "pgw-...", "name": "Client A", ... }

# Get single sub-user
GET /user/reseller/sub-users/:id

# Update sub-user
PATCH /user/reseller/sub-users/:id
  Body: { "name": "New Name", "data_limit_gb": 15, "is_active": true }

# Delete sub-user
DELETE /user/reseller/sub-users/:id

Sub-user actions

# Reset data usage to 0
POST /user/reseller/sub-users/:id/reset

# Add GB from your pool
POST /user/reseller/sub-users/:id/add
  Body: { "gb": 5 }

# Reclaim unused data back to your pool
POST /user/reseller/sub-users/:id/reclaim
  # Shrinks sub-user limit to their current usage
  # Returns unused GB to your pool

# Regenerate sub-user API key
POST /user/reseller/sub-users/:id/newkey
  Returns: { "api_key": "pgw-new-key..." }

# 90-day usage history
GET /user/reseller/sub-users/:id/usage

Plans & pricing

Data-based plans include a signup bonus. Unlimited plans provide unrestricted bandwidth for a set duration.

PlanPriceDataBonus
Starter$1025.5 GB500 MB
Basic$2563.75 GB2 GB
Standard$50127.5 GB5 GB
Pro$100255 GB15 GB
Business$250637.5 GB50 GB
Enterprise$5001275 GB125 GB

Unlimited plans

PlanPriceDuration
Unlimited 1D$2001 Day
Unlimited 7D$1,2507 Days
Unlimited 30D$4,50030 Days