API Documentation
Base URL: https://jetproxy.io/api/v1
Rate limits: 200/min per IP, 100/min per user
Authentication
All API requests must include the x-api-key header with your API key. You can obtain a key in the API section of the dashboard.
Authentication Example
Every request must include the x-api-key header.
Example
curl -X POST -H "x-api-key: gpx_live_YOUR_KEY" -H "Content-Type: application/json" https://jetproxy.io/api/v1/generate -d '{"country_code":"US","quantity":1}'- All keys start with the gpx_live_ prefix
- Repeated rate-limit violations can temporarily block the IP
- Rate limits: 200 req/min per IP, 100 req/min per user
Proxy Generation
Main endpoint for creating proxy strings with geo-targeting, ASN, and sessions.
Generate (Single)
Generates proxies for a single set of geo parameters.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
package_id | string (uuid) | — | Optional package ID. If omitted, the newest active package is used. |
preset_name | string | — | Saved preset name (optional) |
country_code | string (2 chars) | any | ISO 3166-1 alpha-2 country code |
state | string | — | Region/state ID (from /geo/states) |
subdivision_code | number | — | Numeric region/state code; alternative to numeric state values |
city | string | — | City name (from /geo/cities) |
isp | string | — | ISP ID (from /geo/isps) |
isp_code | number | — | Numeric ISP code; alternative to numeric isp values |
asn | string | — | Autonomous system number |
zip | string | — | ZIP code (works only with country_code) |
session_type | "rotating" | "sticky" | "rotating" | Session type |
session_ttl | string | none | Sticky session TTL (30s, 15m, 1h) |
quantity | number (1–1000) | 10 | Number of proxies |
format | string | "login:password@host:port" | Output format (see below) |
protocol | "http" | "socks5" | "http" | Protocol |
rotation_mode | 0 | 1 | 2 | — | Optional rotation mode for sticky sessions |
Request Body
{
"country_code": "US",
"city": "New York",
"session_type": "sticky",
"session_ttl": "30s",
"quantity": 5,
"protocol": "socks5"
}Response
{
"count": 5,
"package_id": "550e8400-e29b-41d4-a716-446655440000",
"remaining_gb": 37.55,
"format": "login:password@host:port",
"protocol": "socks5",
"proxies": [
"user_c_US_city_New-York_s_a1b2c3d4:pass@proxy.example.com:10000",
"user_c_US_city_New-York_s_e5f6g7h8:pass@proxy.example.com:10001",
"..."
]
}- Output formats: protocol://login:password@host:port | host:port:login:password | login:password@host:port
- When using preset_name, geo parameters from the preset are used as fallback
- Explicitly passed parameters take priority over preset values
Generate (Bulk)
Generates proxies for multiple sets of geo parameters in a single request (up to 10 sets, up to 1000 proxies total).
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
package_id | string (uuid) | — | Optional package ID. If omitted, the newest active package is used. |
items* | array (1–10) | — | Array of objects with geo parameters |
format | string | "login:password@host:port" | Format for all items |
protocol | "http" | "socks5" | "http" | Protocol for all items |
Request Body
{
"items": [
{ "country_code": "US", "quantity": 3 },
{ "country_code": "DE", "city": "Berlin", "quantity": 2 }
],
"protocol": "http"
}Response
{
"total_count": 5,
"package_id": "550e8400-...",
"remaining_gb": 37.55,
"format": "login:password@host:port",
"protocol": "http",
"results": [
{ "country_code": "US", "city": null, "count": 3, "proxies": ["..."] },
{ "country_code": "DE", "city": "Berlin", "count": 2, "proxies": ["..."] }
]
}- Total proxy count across all items must not exceed 1000
- Maximum 10 items per request
Geo Data
Reference endpoints for available countries, regions, cities, and ISPs for targeting.
List Countries
Returns all available countries.
Response
{
"results": [
{ "name": "United States", "code": "US" },
{ "name": "Germany", "code": "DE" },
{ "name": "Japan", "code": "JP" }
]
}List Regions
Returns regions/states of the specified country.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
country_code* | string (2) | — | Country code |
Response
{
"results": [
{ "name": "California", "id": "1906" },
{ "name": "New York", "id": "1930" }
]
}List Cities
Returns cities of the specified region.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
country_code* | string (2) | — | Country code |
state* | string | — | Region ID |
Response
{
"results": [
{ "name": "Los Angeles", "id": "18031" },
{ "name": "San Francisco", "id": "18055" }
]
}List ISPs
Returns internet service providers for the selected city.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
country_code* | string (2) | — | Country code |
state* | string | — | Region ID |
city* | string | — | City ID |
Response
{
"results": [
{ "name": "AT&T Services", "id": "7018" },
{ "name": "Comcast Cable", "id": "7922" }
]
}Error Codes
All errors are returned in the format { "error": "...", "code": "..." }
| HTTP | Code | Description |
|---|---|---|
| 400 | bad_request | Invalid request parameters |
| 400 | malformed_json | Request body is not valid JSON |
| 401 | unauthorized | Invalid or inactive API key |
| 402 | no_active_package | No active package is available for generation |
| 402 | package_inactive | Package is not active |
| 402 | package_expired | Package has expired |
| 402 | traffic_exhausted | Traffic exhausted |
| 403 | forbidden | IP is temporarily blocked |
| 404 | not_found | Endpoint, package, or preset not found |
| 413 | payload_too_large | Request body exceeds 64 KB |
| 429 | rate_limit | Rate limit exceeded |
| 500 | internal_error | Unexpected server error |
| 503 | service_unavailable | Proxy gateway is temporarily unavailable |