Introduction
The 5G Proxy API is organized around REST. Our API has predictable resource-oriented URLs, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
You can use the API to programmatically access your proxy pool, rotate IPs automatically, and track your bandwidth consumption.
Authentication
Authenticate your account by including your secret API key in the request. You can manage your API keys from the Dashboard.
Authentication to the API is performed via HTTP Bearer Auth. Provide your API key as the bearer token value. Alternatively, you can pass it as a `?api_key=` query parameter, though headers are strongly recommended.
⚠️ Keep it secret! Your API keys carry many privileges. Do not share them in publicly accessible areas such as GitHub or client-side code.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://youtuber.agency/api/v1/proxies
List Proxies
Returns a list of all proxies assigned to your active subscriptions. You can filter the returned list by proxy type or country, and even export directly to a text or CSV format.
Endpoint
/api/v1/proxies
Query Parameters
type
string
Filter by proxy type. Valid values are residential, datacenter, or mobile.
country
string
Filter by ISO 2-letter country code (e.g., US, DE).
format
string
Response format. Valid values are json (default), txt, or csv.
curl -H "Authorization: Bearer YOUR_KEY" \
https://youtuber.agency/api/v1/proxies?type=residential&country=US
{
"success": true,
"data": [
{
"ip": "192.168.1.1",
"port": 8080,
"username": "user123",
"password": "pass456",
"type": "residential",
"protocol": "HTTP",
"country": "US",
"expires_at": "2026-04-15 12:00:00"
}
],
"count": 1
}
Rotate Proxy
Instantly retrieve a randomly selected proxy from your assigned pool. This is the ideal endpoint to hit inside loops or scrapers when you need a fresh IP address for every request.
Endpoint
/api/v1/rotate
curl -H "Authorization: Bearer YOUR_KEY" \
https://youtuber.agency/api/v1/rotate
{
"success": true,
"proxy": {
"ip": "45.33.22.11",
"port": 3128,
"username": "user123",
"password": "pass456",
"protocol": "SOCKS5",
"country": "DE",
"connection": "45.33.22.11:3128:user123:pass456"
}
}
Sticky Session
Use this endpoint when you need IP persistence over a period of time. By providing a session identifier, the API will remember which proxy was assigned to that session and return the exact same proxy on subsequent requests, up until the Time-To-Live (TTL) expires.
Endpoint
/api/v1/sticky
Query Parameters
session
string
Required A unique string to identify your task session (e.g. task_5599).
ttl
integer
Time-to-live in minutes (1-60). Determines how long the IP stays sticky. Default is 10.
curl -H "Authorization: Bearer YOUR_KEY" \
"https://youtuber.agency/api/v1/sticky?session=scrape_job_1&ttl=15"
{
"success": true,
"session": "scrape_job_1",
"proxy": {
"ip": "178.32.44.55",
"port": 8080,
"username": "user123",
"password": "pass456",
"protocol": "HTTP",
"country": "US",
"expires_at": "2026-03-25 01:10:00"
}
}
Account Usage
Retrieve an overview of your account limits, active orders, and bandwidth consumption in real-time. Useful for building your own monitoring tools or alerts before bandwidth runs out.
Endpoint
/api/v1/usage
curl -H "Authorization: Bearer YOUR_KEY" \
https://youtuber.agency/api/v1/usage
{
"success": true,
"data": {
"active_proxies": 50,
"total_orders": 3,
"active_orders": 1,
"subscription": {
"plan": "Pro Monthly",
"bandwidth_limit_gb": 100,
"bandwidth_used_gb": 23.5,
"bandwidth_remaining_gb": 76.5,
"expires_at": "2026-04-15 00:00:00"
}
}
}
Errors
We use conventional HTTP response codes to indicate the success or failure of an API request.
- Codes in the
2xxrange indicate success. - Codes in the
4xxrange indicate an error that failed given the information provided (e.g., a required parameter was omitted, authentication failed). - Codes in the
5xxrange indicate an error with our servers (these are rare).
Unauthorized
No valid API key provided.
Forbidden
API key does not have permissions.
Not Found
The requested resource doesn't exist.
Too Many Requests
Rate limit exceeded (Max 60/min).
{
"success": false,
"error": "RATE_LIMITED",
"message": "Too many requests. Please slow down."
}