Integrate NIDProxy into your application — automate proxy orders, retrieve credentials, and manage gateway access. Get your API key from Settings.
Base URL
https://your-domain.com
Request format
Content-Type: application/json
Accept: application/json
Response format
JSON object on success
{ "error": "Human-readable message" } on failureUse an API key for credential and bandwidth endpoints. Order and wallet endpoints require a session obtained via login — run those from your backend and store the cookie securely.
# API key (recommended for server-to-server)
Header: X-API-Key: YOUR_API_KEY
Find your key: Dashboard → Settings → API key
Works on: /api/credentials, /api/bandwidth
# Session cookie (browser or server-side login)
1. POST /api/auth/login { "email", "password" }
2. Store the proxy_session cookie from the response
3. Send it on subsequent requests: Cookie: proxy_session=...
Required for: orders, wallet, ISP, order managementTypical integration flow for purchasing static or residential proxies programmatically.
# 1. Load catalog
GET /api/proxy-seller/reference?type=ipv4
# 2. Get a price quote
PUT /api/upstream-orders
{
"productType": "ipv4",
"params": { "countryId": 1, "periodId": "1w", "quantity": 10 }
}
# 3. Place order (wallet pays instantly; stripe/crypto return checkoutUrl)
POST /api/upstream-orders
{
"productType": "ipv4",
"params": { "countryId": 1, "periodId": "1w", "quantity": 10 },
"paymentMethod": "wallet",
"autoRenew": true
}
# 4. If checkoutUrl returned, redirect user then confirm:
POST /api/upstream-orders/confirm
{ "orderId": "...", "sessionId": "..." }
# 5. Fetch credentials
GET /api/upstream-orders
# Each credential → IP:PORT:USERNAME:PASSWORDCreate rotating or sticky credentials for the shared proxy gateway using only your API key.
# Create a rotating gateway credential
POST /api/credentials
Header: X-API-Key: YOUR_API_KEY
{
"label": "Scraper pool",
"sessionMode": "ROTATING",
"countryFilter": "US,GB"
}
# Response includes username + password
# Connect via your platform gateway:
# http://USERNAME:PASSWORD@proxy.your-domain.com:8888
# socks5://USERNAME:PASSWORD@proxy.your-domain.com:1080
# Monitor usage
GET /api/bandwidth?days=30
Header: X-API-Key: YOUR_API_KEY# Purchased proxies (orders) — connect directly 185.134.194.170:12323:14a449cdc5de4:83b9b00317 curl -x http://USER:PASS@185.134.194.170:12323 https://api.ipify.org curl --socks5 USER:PASS@185.134.194.170:12323 https://api.ipify.org # Gateway credentials — connect via platform gateway host curl -x http://USERNAME:PASSWORD@proxy.your-domain.com:8888 https://api.ipify.org
// Node.js — list credentials with your API key
const API_KEY = process.env.NIDPROXY_API_KEY;
const BASE = "https://your-domain.com";
const res = await fetch(`${BASE}/api/credentials`, {
headers: { "X-API-Key": API_KEY },
});
const { credentials } = await res.json();
// Node.js — place a wallet order (server-side session)
const login = await fetch(`${BASE}/api/auth/login`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: "you@company.com", password: "..." }),
});
const cookie = login.headers.get("set-cookie"); // store proxy_session
const order = await fetch(`${BASE}/api/upstream-orders`, {
method: "POST",
headers: { "Content-Type": "application/json", Cookie: cookie },
body: JSON.stringify({
productType: "ipv4",
params: { countryId: 1, periodId: "1w", quantity: 10 },
paymentMethod: "wallet",
}),
});
const data = await order.json();HTTP status | Meaning 401 | Missing or invalid API key / session 403 | Valid auth but action not allowed 404 | Resource not found 402 | Insufficient wallet balance 429 | Rate limit (e.g. credential reset cooldown) 503 | Feature unavailable (payments or upstream not configured)
All integrator-facing endpoints with request and response shapes.
Manage rotating or sticky credentials for the shared proxy gateway. Authenticate with your API key.
/api/credentialsList all gateway credentials on the account.
Response
{ "credentials": [{ "id", "label", "username", "password", "sessionMode", "countryFilter", ... }] }/api/credentialsNot supported — credentials are issued automatically when you purchase proxies.
Request body
{ "label": "Campaign A", "sessionMode": "ROTATING", "countryFilter": "US,DE" }Response
403 { "error": "Credentials are created automatically when you purchase proxies..." }/api/credentials/:idUpdate label, session mode, country filter, or active flag.
Request body
{ "label": "New label", "sessionMode": "STICKY", "countryFilter": "US" }/api/credentials/:idPermanently delete a credential.
Response
{ "ok": true }/api/bandwidth?days=30Daily bandwidth chart and per-credential usage totals.
Response
{ "chart": [...], "summary": { "totalUsed", "totalLimit", "credentials": [...] } }Purchase datacenter, ISP, mobile, mix, or residential proxies. Credentials are returned as IP:PORT:USER:PASS.
/api/proxy-seller/reference?type=ipv4Catalog metadata — countries, periods, targets, operators (use before quoting).
Response
{ "configured": true, "type": "ipv4", "reference": { "countries", "periods", ... } }/api/upstream-ordersLive price quote for a product configuration.
Request body
{ "productType": "ipv4", "params": { "countryId": 1, "periodId": "1w", "quantity": 10 } }Response
{ "totalCents", "unitCents", "quantity", "currency": "USD", ... }/api/upstream-ordersCreate an order. Pay with wallet, Stripe, or crypto.
Request body
{ "productType": "ipv4", "params": { ... }, "paymentMethod": "wallet", "autoRenew": true }Response
{ "order": { "id", "status" }, "checkoutUrl?": "..." }/api/upstream-ordersList orders with attached proxy credentials.
Response
{ "orders": [{ "id", "status", "credentials": [{ "proxyHost", "proxyHttpPort", "username", "password" }] }] }/api/upstream-orders/confirmConfirm payment after Stripe/crypto redirect and trigger fulfillment.
Request body
{ "orderId": "...", "sessionId": "..." }Response
{ "fulfilled": true, "status": "ACTIVE" }/api/upstream-orders/:id/auto-renewEnable or disable wallet auto-renew for the order period.
Request body
{ "enabled": true }/api/upstream-orders/renewProcess due auto-renewals for the authenticated account.
Extend, annotate, or rotate credentials on active orders.
/api/my-orders/:orderId/extendExtend an active order for another billing period (debited from wallet).
Response
{ "ok": true }/api/my-orders/:orderId/reset-credentialsRotate USER:PASS for selected proxies (once per hour per order).
Request body
{ "credentialIds": ["cred_id_1", "cred_id_2"] }/api/my-orders/:orderId/noteSave a private note on an order (max 2000 chars).
Request body
{ "note": "Customer ref #1234" }Check balance, top up, and inspect available payment methods.
/api/billing/balanceCurrent wallet balance in cents.
Response
{ "balanceCents": 2500 }/api/billing/add-fundsSuggested top-up preset amounts in cents.
Response
{ "presetsCents": [1000, 2500, 5000, ...] }/api/billing/add-fundsStart a wallet top-up. Returns a checkout URL for card or crypto.
Request body
{ "amountCents": 2500, "paymentMethod": "stripe" }Response
{ "topupId", "checkoutUrl", "paymentMethod" }/api/billing/confirm-topupConfirm a top-up after external payment.
Request body
{ "topupId": "...", "sessionId": "..." }Response
{ "credited": true }/api/payments/methods?context=orderAvailable payment methods. Use context=topup for add-funds flows.
Response
{ "methods", "balanceCents", "stripe", "crypto" }Dedicated ISP lines with direct IP:PORT connection (no shared gateway).
/api/isp/inventory?supplyMode=UPSTREAMPer-country stock levels and random-pool availability.
Response
{ "supplyMode", "inventory": [{ "country", "availableProxies" }], "randomAvailable" }/api/isp/ordersList ISP orders with proxy lines.
/api/isp/ordersCreate an ISP order.
Request body
{ "duration": "DAYS_30", "supplyMode": "UPSTREAM", "locations": [{ "country": "US", "quantity": 5 }], "paymentMethod": "stripe" }Profile and API key retrieval.
/api/auth/meCurrent user profile, role, and API key.
Response
{ "user": { "id", "email", "role", "apiKey" } }