Subscriptions
Manage proxy subscriptions list, filter, get credentials, monitor usage, whitelist IPs, reset passwords, export in bulk, and top-up data.
List Subscriptions
Retrieve all subscriptions with full proxy details, credentials, node info, and usage stats.
GET /subscriptions/Headers
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your API key |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | Filter by status: active, expired, cancelled, paused, suspended | |
product_slug | string | Filter by product slug | |
category_slug | string | Filter by category slug | |
page | integer | 1 | Page number |
per_page | integer | 50 | Results per page (1–100) |
Response
{
"items": [
{
"id": 42,
"product_id": 1,
"product_name": "Datacenter Proxy",
"product_slug": "datacenter-proxy",
"category_slug": "datacenter",
"status": "active",
"source": "api",
"billing_period": "monthly",
"started_at": "2025-01-15T12:00:00Z",
"expires_at": "2025-02-14T12:00:00Z",
"time_remaining_seconds": 1296000,
"time_remaining_human": "15d 0h",
"is_expired": false,
"price_paid_usd": "29.99",
"auto_renew": true,
"nickname": "US Scraper",
"proxy": {
"id": 10,
"threads": 100,
"max_ips": 5,
"max_data_bytes": 107374182400,
"data_used_bytes": 21474836480,
"data_remaining_bytes": 85899345920,
"data_usage_percent": 20.0,
"proxy_username": "user_abc123",
"proxy_password": "p4ssw0rd",
"proxy_host": "us.proxy.redscrape.com",
"proxy_port": 10000,
"node": {
"name": "US East",
"location": "New York",
"country_code": "US",
"status": "active"
},
"is_pay_as_you_go": false,
"ip_whitelist": [
{
"id": 1,
"ip_address": "203.0.113.10",
"label": "Office server"
}
]
}
}
],
"meta": {
"total": 12,
"pages": 1,
"page": 1,
"per_page": 50
}
}Subscription Object
| Field | Type | Description |
|---|---|---|
id | integer | Unique subscription ID |
product_id | integer | Associated product ID |
product_name | string | Product display name |
product_slug | string | Product slug |
category_slug | string | Category slug |
status | string | active, expired, cancelled, paused, suspended |
billing_period | string | weekly, monthly, quarterly, yearly, pay_as_you_go |
started_at | string | ISO 8601 start timestamp |
expires_at | string | null | ISO 8601 expiry timestamp |
time_remaining_seconds | integer | null | Seconds until expiry |
time_remaining_human | string | null | Human-readable time remaining (e.g. 15d 3h) |
is_expired | boolean | Whether the subscription has expired |
price_paid_usd | string | Amount paid |
auto_renew | boolean | Auto-renewal enabled |
nickname | string | null | Custom label |
proxy | object | Proxy configuration and credentials (see below) |
Proxy Object
| Field | Type | Description |
|---|---|---|
proxy_host | string | null | Proxy server hostname |
proxy_port | integer | Proxy server port (default: 10000) |
proxy_username | string | Auth username |
proxy_password | string | Auth password |
threads | integer | Max concurrent connections |
max_ips | integer | Max whitelisted IPs |
max_data_bytes | integer | null | Data cap in bytes |
data_used_bytes | integer | Data consumed in bytes |
data_remaining_bytes | integer | null | Remaining data in bytes |
data_usage_percent | number | null | Percentage of data used |
node | object | null | Node details (name, location, country_code, status) |
is_pay_as_you_go | boolean | Pay-as-you-go mode |
ip_whitelist | array | Whitelisted IPs |
Get Subscription
Retrieve a single subscription by ID with full details.
GET /subscriptions/{sub_id}Path Parameters
| Parameter | Type | Description |
|---|---|---|
sub_id | integer | Subscription ID |
Response
Returns a single Subscription Object.
Get Proxy Credentials
Get just the proxy connection details designed for quick integration.
GET /subscriptions/{sub_id}/credentialsResponse
{
"subscription_id": 42,
"product_name": "Datacenter Proxy",
"status": "active",
"proxy_host": "us.proxy.redscrape.com",
"proxy_port": 10000,
"proxy_username": "user_abc123",
"proxy_password": "p4ssw0rd",
"protocol": "http",
"connection_string": "http://user_abc123:[email protected]:10000",
"node": {
"name": "US East",
"location": "New York",
"country_code": "US"
}
}Use the connection_string directly in your HTTP client:
import requests
creds = get_credentials(42)
proxies = {"http": creds["connection_string"], "https": creds["connection_string"]}
resp = requests.get("https://httpbin.org/ip", proxies=proxies)Get Usage Stats
Get detailed usage statistics: data consumption, time remaining, and limits.
GET /subscriptions/{sub_id}/usageResponse
{
"subscription_id": 42,
"status": "active",
"billing_period": "monthly",
"data": {
"used_bytes": 21474836480,
"used_gb": 20.0,
"max_bytes": 107374182400,
"max_gb": 100.0,
"remaining_bytes": 85899345920,
"remaining_gb": 80.0,
"usage_percent": 20.0,
"is_pay_as_you_go": false
},
"limits": {
"threads": 100,
"max_ips": 5,
"whitelisted_ips_count": 2
},
"time": {
"started_at": "2025-01-15T12:00:00+00:00",
"expires_at": "2025-02-14T12:00:00+00:00",
"remaining_seconds": 1296000,
"remaining_hours": 360.0,
"remaining_days": 15.0,
"is_expired": false
}
}Data Object
| Field | Type | Description |
|---|---|---|
used_bytes | integer | Data consumed in bytes |
used_gb | number | Data consumed in GB |
max_bytes | integer | null | Data cap in bytes |
max_gb | number | null | Data cap in GB |
remaining_bytes | integer | null | Remaining data in bytes |
remaining_gb | number | null | Remaining data in GB |
usage_percent | number | null | Percentage of data used |
is_pay_as_you_go | boolean | Pay-as-you-go mode |
Time Object
| Field | Type | Description |
|---|---|---|
started_at | string | ISO 8601 start timestamp |
expires_at | string | ISO 8601 expiry timestamp |
remaining_seconds | integer | Seconds until expiry |
remaining_hours | number | Hours until expiry |
remaining_days | number | Days until expiry |
is_expired | boolean | Whether the time has expired |
Export Credentials (Bulk)
Export proxy credentials for all (or filtered) subscriptions. Supports JSON and plain text formats.
GET /subscriptions/export/credentialsQuery Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | active | Filter by status |
format | string | json | Output format: json or plain |
JSON Response
{
"count": 3,
"proxies": [
{
"subscription_id": 42,
"nickname": "US Scraper",
"product_name": "Datacenter Proxy",
"product_slug": "datacenter-proxy",
"status": "active",
"proxy_host": "us.proxy.redscrape.com",
"proxy_port": 10000,
"proxy_username": "user_abc123",
"proxy_password": "p4ssw0rd",
"connection_string": "http://user_abc123:[email protected]:10000",
"node": {
"name": "US East",
"location": "New York",
"country_code": "US"
}
}
]
}Plain Text Response (format=plain)
Returns one proxy per line as host:port:user:pass:
us.proxy.redscrape.com:10000:user_abc123:p4ssw0rd
eu.proxy.redscrape.com:10000:user_def456:s3cur3pwAdd IP to Whitelist
POST /subscriptions/{sub_id}/ip-whitelistRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
ip_address | string | Yes | IPv4 or IPv6 address |
label | string | No | Friendly label |
Response
{
"id": 5,
"ip_address": "203.0.113.10",
"label": "Office server"
}Remove IP from Whitelist
DELETE /subscriptions/{sub_id}/ip-whitelist/{ip_id}Response
{ "ok": true, "message": "IP removed" }Reset Proxy Password
Generate a new proxy password. The old password stops working immediately.
POST /subscriptions/{sub_id}/reset-passwordResponse
{ "proxy_password": "new_s3cure_pw" }Rename Subscription
PATCH /subscriptions/{sub_id}/renameRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
nickname | string | Yes | New display name (max 64 chars) |
Response
{ "ok": true, "message": "Subscription renamed" }Top-Up Data
Add more data (GB) to a subscription. Cost is deducted from your wallet.
POST /subscriptions/{sub_id}/topup-dataRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
data_gb | integer | Yes | Amount of data to add in GB |
Response
{
"ok": true,
"message": "Added 50 GB",
"new_max_data_bytes": 161061273600
}Examples
# List active subscriptions only
curl -H "X-API-Key: your_api_key" \
"https://api.redscrape.com/api/public/subscriptions/?status=active"
# Filter by product
curl -H "X-API-Key: your_api_key" \
"https://api.redscrape.com/api/public/subscriptions/?product_slug=datacenter-proxy"
# Get proxy credentials for quick integration
curl -H "X-API-Key: your_api_key" \
https://api.redscrape.com/api/public/subscriptions/42/credentials
# Get detailed usage stats
curl -H "X-API-Key: your_api_key" \
https://api.redscrape.com/api/public/subscriptions/42/usage
# Export all active proxy credentials as plain text
curl -H "X-API-Key: your_api_key" \
"https://api.redscrape.com/api/public/subscriptions/export/credentials?format=plain"
# Export as JSON
curl -H "X-API-Key: your_api_key" \
https://api.redscrape.com/api/public/subscriptions/export/credentials
# Add IP to whitelist
curl -X POST -H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"ip_address": "203.0.113.10", "label": "Office"}' \
https://api.redscrape.com/api/public/subscriptions/42/ip-whitelist
# Reset proxy password
curl -X POST -H "X-API-Key: your_api_key" \
https://api.redscrape.com/api/public/subscriptions/42/reset-password
# Top-up 50 GB
curl -X POST -H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"data_gb": 50}' \
https://api.redscrape.com/api/public/subscriptions/42/topup-data