Dynamic Proxy API: Generate Connection Details
Generate dynamic proxy connections with form authentication, location targeting, session settings, and output formats.
Generate connection strings for dynamic residential, datacenter, or mobile proxies. A returned host may be an entry gateway rather than the final exit IP. Generating multiple strings does not guarantee the same number of distinct exit addresses.
Request and authentication
GET /api/user_get_ip_list or POST /api/user_get_ip_list
Send your API Key in the token parameter. POST requests use application/x-www-form-urlencoded form data. This endpoint currently does not read a JSON body or the Api-Token header for authentication. Prefer POST form requests.
Parameters
| Parameter | Default | Description |
|---|---|---|
token | None | Required API Key from your account page |
type | wifi | Residential: wifi; datacenter: dat/dc; mobile: 5g |
qty | 1 | Number of strings, 1–500; do not rely on correction of values below 1 |
protocol | http | http, https, or socks5; availability depends on the configured proxy type |
country | Empty | Target exit country from the location API's value; omit for no country preference |
state | Empty | State, wifi only; supply its country too |
city | Empty | City, wifi only; use its value with the corresponding country and state |
area | Automatic | Entry region: sg, us, or cn; automatic selection or fallback may use another available entry |
is_rand | 0 | 0 generates a session identifier; 1 selects random mode |
ip_duration | 0 | Duration in minutes; 0 leaves it unspecified; positive values must match an option currently offered in the console |
format | json | json or txt (text is also accepted); use json for programmatic error handling |
output | 0 | Connection string layout shown below |
area selects an entry region; country/state/city select the target exit location. A positive ip_duration cannot be combined with is_rand=1. Session mode and a requested duration do not imply a permanently fixed IP.
| output | String layout |
|---|---|
0 | username:password@host:port |
1 | host:port:username:password |
2 | username:password:host:port |
3 | host:port@username:password |
The strings have no protocol prefix. Select the requested protocol in the application using the proxy.
POST example
Set DFIP_API_BASE to the actual API origin and supply DFIP_API_KEY securely. This generates one residential connection without a country preference. Add location parameters from the location API when needed.
curl --silent --show-error --max-time 30 \
"$DFIP_API_BASE/api/user_get_ip_list" \
-H 'Accept-Language: en' \
--data-urlencode "token=$DFIP_API_KEY" \
--data-urlencode 'type=wifi' \
--data-urlencode 'protocol=http' \
--data-urlencode 'qty=1' \
--data-urlencode 'is_rand=0' \
--data-urlencode 'ip_duration=0' \
--data-urlencode 'format=json' \
--data-urlencode 'output=0'
Illustrative response with placeholder credentials:
{
"code": 0,
"msg": "ok",
"data": ["EXAMPLE_USER:[email protected]:12345"]
}
data is an array of strings, not objects. A successful txt response contains one string per line; a failed txt response may contain only a message. Use JSON and check code when reliable error handling is required.
Sessions and usage
Each session-mode generation request creates new session identifiers. Repeating the request is not an idempotent read of the earlier result. Store the connection details you intend to reuse instead of continually requesting replacements.
The effective account balance must be positive. Shared-balance subaccounts use the shared balance check, and new-user accounts may be restricted to certain proxy types. Generating connection details does not make subsequent traffic free; proxy usage follows the account's product billing rules.
Common errors
| Code | Meaning or action |
|---|---|
1001 | qty exceeds 500 |
1002 | Invalid type |
1003 | Invalid protocol |
1004 | Protocol unavailable for this proxy type |
1005 / 1006 | Entry region or availability issue; review the selection or contact support |
1007 / 1008 | Invalid, expired, or disabled key, or unavailable account |
1010 | Duration is not currently supported |
1011 | Random mode conflicts with a positive duration |
4002 | This new-user account cannot use the selected proxy type |
4003 | Insufficient effective balance; top up the account |
Business errors may use HTTP 200. A new-user restriction may return JSON even when txt was requested, so handle unexpected response formats as well.