V-PROXIES / DOCS · BUILD 0.0.1
Everything you need to integrate v-proxies — gateway auth, geo targeting, REST endpoints, webhooks, and SDKs.
https://api.v-proxies.ioStatus 01 // QUICK START
You can start routing traffic through v-proxies in under a minute. All you need is your proxy credentials from the Credentials page.
# Route any HTTP/HTTPS request through the gateway
curl -x v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
https://httpbin.org/ip
# Response
{ "origin": "82.15.67.33" }~/01
Get credentials
Find your username and password on the credentials page.
~/02
Point your client
Set proxy host to v-proxies.com and port to 9000.
~/03
Start routing
Traffic proxies immediately. Usage updates in real time.
02 // AUTHENTICATION
All REST API requests are authenticated with a bearer token. Generate API keys from your dashboard. Proxy gateway traffic uses HTTP Basic Auth with your proxy credentials — these are separate from your API key.
# REST API — pass your API key as a Bearer token
curl https://api.v-proxies.io/v1/me \
-H "Authorization: Bearer vp_live_sk_xxxxxxxxxxxxxxxx"API key anatomy
vp_
Product prefix
live | test
Environment
_sk_…
Secret key payload
03 // PROXY GATEWAY
The proxy gateway speaks HTTP CONNECT and plain HTTP proxy protocols. Use it with any HTTP client that supports proxy settings.
HOST
v-proxies.com
PORT
9000
PROTOCOL
HTTP / HTTPS
Proxy list format
v-proxies.com:9000:username:password# HTTPS via CONNECT tunnel
curl -x https://v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
https://target.example.com/api
# Plain HTTP
curl -x http://v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
http://target.example.com/page04 // SESSION MODES
Control whether the gateway assigns a new IP on every request (rotating) or pins the same IP for a set duration (sticky). Session mode is encoded in the proxy username — no extra headers needed.
::rotating
New IP per request
Default mode. Highest anonymity. No username suffix required.
::sticky
Same IP for N minutes
Pin a session for 1–60 minutes. Generate a unique session token per session.
# Sticky 30-minute session (generate a unique token per session)
SESSION="sess_$(openssl rand -hex 8)"
curl -x v-proxies.com:9000 \
-U "u_a91c2f-session-${SESSION}-sticky-30:p_xk9m2r4n8q1vw3" \
https://httpbin.org/ip
# Rotating (default — no suffix)
curl -x v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
https://httpbin.org/ip05 // GEO TARGETING
Append targeting parameters to the proxy username separated by hyphens. Parameters are applied in order and can be combined freely.
Username format
country-{cc}country-usISO 3166-1 alpha-2 country code
city-{name}city-new_yorkCity slug (lowercase, underscores)
asn-{number}asn-16509Autonomous System Number
carrier-{name}carrier-attMobile carrier slug (mobile pool only)
session-{id}session-abc123Session token for sticky mode
sticky-{minutes}sticky-30Pin duration 1–60 min (requires session-)
# Country only
-U "u_a91c2f-country-us:p_xk9m2r4n8q1vw3"
# Country + city
-U "u_a91c2f-country-us-city-new_york:p_xk9m2r4n8q1vw3"
# ASN targeting (AWS us-east-1)
-U "u_a91c2f-asn-16509:p_xk9m2r4n8q1vw3"
# Country + city + sticky 15 min
-U "u_a91c2f-country-gb-city-london-session-xyz-sticky-15:p_xk9m2r4n8q1vw3"06 // POOLS
Select a pool when creating a credential or pass it as a header on existing credentials.
Residential
$2.40 /GB
Mobile
$8.00 /GB
Datacenter
$0.40 /GB
# Override pool per-request with the X-VP-Pool header
curl -x v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
-H "X-VP-Pool: mobile" \
https://httpbin.org/ip07 // REST API
All endpoints are under https://api.v-proxies.io. Responses are JSON. Rate limit: 300 requests / minute per API key.
METHOD
ENDPOINT
DESCRIPTION
/v1/meAccount info — email, plan, created_at
/v1/balanceCurrent balance in USD and GB remaining
/v1/credentialsList all proxy credentials
/v1/credentialsCreate a new credential set
/v1/credentials/:idRevoke a credential
/v1/usageBandwidth usage (range=7d|30d|90d)
/v1/requestsProxy request log (limit, status, page)
/v1/topupCreate Stripe checkout session → { url }
/v1/webhooksList registered webhook endpoints
/v1/webhooksRegister a new webhook
/v1/webhooks/:idRemove a webhook
Example — GET /v1/me
curl https://api.v-proxies.io/v1/me \
-H "Authorization: Bearer vp_live_sk_xxxxxxxxxxxxxxxx"
# 200 OK
{
"id": "usr_a91c2f",
"email": "ops@example.com",
"plan": "residential",
"balance_usd": 184.20,
"gb_remaining": 76.7,
"created_at": "2024-09-01T00:00:00Z"
}Example — POST /v1/credentials
Body parameters
poolrequiredresidential | mobile | datacenter
labelHuman-readable label for this credential set.
allowlistIP CIDR ranges allowed to use this credential.
curl -X POST https://api.v-proxies.io/v1/credentials \
-H "Authorization: Bearer vp_live_sk_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "pool": "residential", "label": "scraper-01" }'
# 201 Created
{
"id": "crd_7f3a1b",
"host": "v-proxies.com",
"port": 9000,
"username": "u_7f3a1b",
"password": "p_hj8mq5rn2wk4vx",
"pool": "residential",
"label": "scraper-01"
}08 // WEBHOOKS
Subscribe to account events and receive a POST request to your endpoint whenever an event fires. Payloads are signed with HMAC-SHA256.
Event types
balance.lowBalance drops below the configured threshold.
balance.depletedBalance reaches $0 — traffic will stop.
topup.completedA top-up payment is confirmed.
credential.createdA new credential set is provisioned.
credential.revokedA credential is deleted.
request.blockedA proxy request is blocked (403/407).
// POST to your endpoint
{
"id": "evt_01j1xmkqz2",
"event": "balance.low",
"created_at": "2024-10-13T14:22:00Z",
"data": {
"balance_usd": 9.40,
"threshold_usd": 10.00
}
}
// Signature header
X-VP-Signature: sha256=3d4f9a1c…# Register a webhook
curl -X POST https://api.v-proxies.io/v1/webhooks \
-H "Authorization: Bearer vp_live_sk_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.example.com/webhook",
"events": ["balance.low", "balance.depleted", "topup.completed"]
}'09 // ERROR CODES
All error responses include a JSON body with a code and a human-readable message.
CODE
TITLE
MEANING
Invalid or missing parameters in the request body.
API key missing, malformed, or revoked.
Source IP not in allowlist, or insufficient balance.
Proxy credentials rejected at the gateway.
Management API rate limit hit — back off and retry.
Unexpected error on our end. Check status.v-proxies.com.
Upstream target unreachable. Verify the target URL.
Gateway under maintenance. Check status page.
// Error response shape
{
"error": {
"code": "insufficient_balance",
"message": "Account balance is $0.00. Top up to resume traffic.",
"status": 403
}
}10 // SDKS
Use any HTTP client that supports proxy authentication. Below are copy-paste examples for the most common environments.
curl -x v-proxies.com:9000 \
-U "u_a91c2f:p_xk9m2r4n8q1vw3" \
https://httpbin.org/ip::ready
Start routing traffic
Top-up from $10. Credentials provisioned in under 2 seconds.