OpenAPI DocOpenAPI Doc

Authentication

App Key Authentication

POST parameters:

app_key: {your_app_key}

Or as query parameter:

?app_key={your_app_key}

The app_key authentication key can be viewed on the personal center homepage after logging in.

Please keep the key secure, as it has administrator privileges for your account.

Response Format

All API endpoints return a unified JSON format:

{
	"code": 200,
	"message": "Operation successful",
	"data": {}
}
  • code: Status code, 200 indicates success, other values indicate failure
  • message: Response message
  • data: Response data

Base URL:

https://api.proxy4free.com

Proxy Account Management

Proxy Account List

GET

/cgi/whitelist-account/list

Response Example

200 Response

{
	"code": {},
	"msg": "string",
	"data": {
		"list": [
			{
				"id": 0,
				"username": "string",
				"password": "string",
				"created_at": "string",
				"remark": "string",
				"product_type": {},
				"usage_flow": 0,
				"limit_flow": 102400,
				"status": 0
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeobjectfalsenonenone
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenoneAccount ID
»»» usernamestringfalsenoneProxy account username
»»» passwordstringfalsenoneProxy account password
»»» created_atstringfalsenoneCreation time
»»» remarkstringfalsenoneRemark
»»» product_typeobjectfalsenonenone
»»» usage_flowintegerfalsenoneUsed traffic, unit: KB
»»» limit_flowintegerfalsenoneCustom traffic limit: unit GB, max 102400, 0 for unlimited
»»» statusintegerfalsenoneEnable status: 1 enabled, 0 disabled

Add Proxy Account

POST

/cgi/whitelist-account/add

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01:pass,user02:pass,user03:pass",
	"remark": "",
	"product_type": {}
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoAccount password, please fill in the format username:password. Account and password only support numbers and letters, no special symbols or spaces allowed. Colon separates account and password. Supports batch addition, separated by English comma (,).
» remarkbodystringNoProxy account description
» product_typebodyobjectNonone

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Delete Proxy Account

POST

/cgi/whitelist-account/delete

Please note that deletion cannot be undone, and used traffic data cannot be queried. Deletion has approximately 5 minutes waiting time, during which charges may still occur.

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts, only supports numbers and letters. Supports batch operations, separated by English comma (,)

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Disable Proxy Account

POST

/cgi/whitelist-account/disable

Disabling has approximately 5 minutes waiting time, during which charges may still occur.

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts, only supports numbers and letters. Supports batch operations, separated by English comma (,)

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Enable Proxy Account

POST

/cgi/whitelist-account/enable

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts, only supports numbers and letters. Supports batch operations, separated by English comma (,)

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Change Proxy Account Password

POST

/cgi/whitelist-account/change-password

Please note that after modification, there is a 5-minute waiting time during which the old password may still work.

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"password": "pass"
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoProxy account, only supports numbers and letters.
» passwordbodystringNoNew proxy account password, only supports numbers and letters.

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Change Proxy Account Remark

POST

/cgi/whitelist-account/change-remark

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"remark": ""
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoProxy account, only supports numbers and letters.
» remarkbodystringNoNew proxy account remark, within 32 Chinese characters or 64 English characters.

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Change Proxy Account Traffic Limit

POST

/cgi/whitelist-account/change-limit

Please note that traffic statistics may have a delay of up to 5 minutes, meaning actual traffic consumption may exceed this limit.

Body Request Parameters

{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"limit": 0
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoProxy account, only supports numbers and letters.
» limitbodyintegerNoTraffic limit, unit: GB, 0 for no limit

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": null
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» datanullfalsenonenone

Traffic Log Query

Usage Traffic Summary by Day

GET

/cgi/user-usage-flow/total

Request Parameters

NameLocationTypeRequiredDescription
app_keyquerystring(password)YesAuthentication key
start_timequerystring(Y-m-d H:i:s)NoStart time, can be accurate to seconds. Please note that log records have a delay of up to 5 minutes. Default is within 7 days.
end_timequerystring(Y-m-d H:i:s)NoEnd time, can be accurate to seconds. Please note that log records have a delay of up to 5 minutes. Default is current time.
usernamequerystringNoSub-account name, default queries all accounts, can specify sub-account. Please note that if you have added sub-accounts with the same name, this query will return all usage records for accounts with the same name.
product_typequerynumberNoPackage type

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"day": "2022-08-01",
				"flow": 0
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» daystringfalsenoneDate
»»» flowintegerfalsenoneConsumed traffic, unit: KB

Package Query

Purchased Package List

GET

/cgi/user-product/list

Request Parameters

NameLocationTypeRequiredDescription
app_keyquerystring(password)YesAuthentication key
trade_noquerystringNoOrder number, please enter complete order number. Fuzzy search not supported.
pagequerynumberNoPage number, default: 1
sizequerynumberNoPage size, default: 20
product_typequerynumberNoPackage type

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"id": 0,
				"created_at": "2022-05-13 12:14:15",
				"expired_at": "2022-05-13 12:14:15",
				"product_type": {},
				"trade_no": "2022051312134339861461465434",
				"order": {
					"created_at": "2022-05-13 12:13:43",
					"pay_at": "2022-05-13 12:13:43",
					"title": "入门级"
				}
			}
		],
		"page": 1,
		"page_size": 20,
		"total_count": 0,
		"total_page": 0
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenonePackage ID
»»» created_atstringfalsenonePackage effective time
»»» expired_atstringfalsenonePackage expiration time, traffic cannot be used after expiration.
»»» product_typeobjectfalsenonenone
»»» trade_nostringfalsenoneOrder transaction number
»»» orderobjectfalsenonenone
»»»» created_atstringfalsenoneOrder creation time
»»»» pay_atstringfalsenoneOrder payment time
»»»» titlestringfalsenoneOrder description
»» pageintegerfalsenoneCurrent page
»» page_sizeintegerfalsenonePage size
»» total_countintegerfalsenoneTotal record count
»» total_pageintegerfalsenoneTotal page count

IP Extraction

Extract IP

GET

/cgi/ip/v3

Request Parameters

NameLocationTypeRequiredDescription
app_keyquerystring(password)YesAccess key
ccquerystringNoCountry or region
statequerystringNoProvince or state
cityquerystringNoCity
formatquerystringNoOutput format
lbquerystringNoSeparator, only valid for text format
numquerynumberNoExtraction quantity
lifequerynumberNoKeep cycle - minutes
epquerystringNoProxy network

Enum Values

PropertyValue
epus
ephk
epde

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			[
				"150.109.114.72:1140",
				"150.109.114.72:1141",
				"150.109.114.72:1142",
				"150.109.114.72:1143",
				"150.109.114.72:1144",
				"150.109.114.72:1145",
				"150.109.114.72:1146",
				"150.109.114.72:1147",
				"150.109.114.72:1148",
				"150.109.114.72:1149"
			]
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[any]falsenonenone

City List

GET

/cgi/ip/dynamic-citys

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"name_zh_cn": "美国",
				"name_en": "United States",
				"continent_code": "NA",
				"country_code": "US",
				"items": [
					{
						"city": null,
						"state": null,
						"continent_code": null,
						"country_code": null
					}
				]
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenoneList
»»» name_zh_cnstringfalsenoneCountry or region name
»»» name_enstringfalsenoneCountry or region name
»»» continent_codestringfalsenoneContinent code
»»» country_codestringfalsenoneCountry or region code
»»» items[object]falsenoneProvince or state
»»»» citystringfalsenoneCity name
»»»» statestringfalsenoneProvince or state name code
»»»» continent_codestringfalsenoneContinent code
»»»» country_codestringfalsenoneCountry or region code

City Search

GET

/cgi/ip/dynamic-citys/search

Request Parameters

NameLocationTypeRequiredDescription
country_codequerystringYesCountry or region code
statequerystringYesState or province code

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": ["string"]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[string]falsenoneList

State List

GET

/cgi/ip/dynamic-states

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"name_zh_cn": "美国",
				"name_en": "United States",
				"continent_code": "NA",
				"country_code": "US",
				"items": [
					{
						"state": null,
						"continent_code": null,
						"country_code": null
					}
				]
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenoneList
»»» name_zh_cnstringfalsenoneCountry or region name
»»» name_enstringfalsenoneCountry or region name
»»» continent_codestringfalsenoneContinent code
»»» country_codestringfalsenoneCountry or region code
»»» items[object]falsenoneProvince or state
»»»» statestringfalsenoneProvince or state name code
»»»» continent_codestringfalsenoneContinent code
»»»» country_codestringfalsenoneCountry or region code

State/Province Search

GET

/cgi/ip/dynamic-states/search

Request Parameters

NameLocationTypeRequiredDescription
country_codequerystringYesCountry or region code

Response Example

200 Response

{
	"code": 200,
	"msg": "string",
	"data": {
		"list": ["string"]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success, 3 app_key invalid, 156 account not verified
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[string]falsenoneList

Extract Purchased Static IP List

GET

/cgi/ip/get-static-ip

Request Parameters

NameLocationTypeRequiredDescription
country_codequerystringNoCountry or region code
product_typequerynumberNoProduct type, 25: Static residential IP, 14: Data center IP
trade_noquerystringNoFilter IP by order number
pagequerynumberNoPage number
sizequerynumberNoItems per page
statusquerynumberNoStatus, 1: Valid, 2: Invalid, 3: Expiring soon, 4: Under maintenance

Enum Values

PropertyValue
product_type14
product_type25
status1
status2
status3
status4

Response Example

200 Response

{}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKnoneInline

Return Data Structure

Get Available Static IP Count by Region

GET

/cgi/static-ip-region

Request Parameters

NameLocationTypeRequiredDescription
ispquerystringNoIP type

Detailed Description

isp: IP type

IP TypeDescription
1Residential static IP
0Data center static IP

Response Example

200 Response

{
	"code": 200,
	"msg": "请求成功",
	"data": {
		"list": [
			{
				"code": "US",
				"number": 55
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRequest successfulInline

Return Data Structure

Status Code 200

NameTypeRequiredConstraintChinese NameDescription
» codeintegerfalsenoneStatus code, 200 success
» msgstringfalsenoneStatus message
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» codestringfalsenoneCountry or region code
»»» numberintegerfalsenoneQuantity

Order Management

Order List

GET

/cgi/order/list

Request Parameters

NameLocationTypeRequiredDescription
page_noqueryintegerNonone
page_sizequeryintegerNonone
trade_noquerystringNoOrder number
statusqueryintegerNoOrder status
product_typequeryintegerNoProduct type

Detailed Description

status: Order status

StatusDescription
0Pending payment
1Paid
2Cancelled due to timeout
3Refunded

product_type: Product type | Product Type | Description | |---|---| |3|Balance recharge| |9|Dynamic traffic package| |11|Dynamic global hourly package V2| |12|Long-term IDC traffic package| |13|Residential static IP traffic package| |14|Data center static IP package| |15|Long-term ISP traffic package| |16|Static traffic package| |17|Dynamic IP quantity package| |18|web-scraper| |19|Static IP renewal| |20|Static IP replacement quota| |21|Static traffic package v2| |24|Static traffic add-on package| |25|Residential static IP package| |26|Supplementary order - Some payment channels require users to manually fill in the amount, such as: cryptocurrency. If there is a shortage, contact customer service to make a supplementary payment through this product| |27|Serp| |28|Video|

Enum Values

PropertyValue
status0
status1
status2
status3
product_type3
product_type9
product_type11
product_type12
product_type14
product_type16
product_type17
product_type18
product_type19
product_type21
product_type24
product_type25
product_type26
product_type27
product_type28

Response Example

200 Response

{
	"data": {
		"list": [{}],
		"pagination": {}
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKSuccessInline

Return Data Structure

Create Order

POST

/cgi/order/create

Due to the variety of package types and different configurations for each package, please fill in the parameters according to the actual situation. Improper parameter filling may cause order creation to fail.

examples:

Renew Static IP

{
    "pid": x, // Contact customer service to obtain
    "upids": "1,2,3,4,5,6", // Get corresponding IDs from /cgi/ip/get-static-ip
    "pm_id": 1 // Get from /cgi/payment/list
    "coupon_sn: "xxx", // Optional coupon
  }

Body Request Parameters

{
	"pid": 0,
	"upids": "string",
	"amount": 0,
	"pm_id": 0,
	"region_list": "string",
	"coupon_sn": "string",
	"use_invitation_registration_discount": true,
	"renew_duration": 0,
	"product_sku_bandwidth_id": 0,
	"product_sku_concurrency_id": 0,
	"recharge_amount": 0
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectYesnone
» pidbodyintegerYesPackage ID
» upidsbodystringNoRenewal package ID list
» amountbodynumberNoNew purchase package quantity
» pm_idbodyintegerYesPayment method ID
» region_listbodystringNoSpecify region + quantity when purchasing static IP
» coupon_snbodystringNoCoupon number
» use_invitation_registration_discountbodybooleanNoWhether to use invitation registration discount
» renew_durationbodyintegerNoRenewal duration - optional for static IP
» product_sku_bandwidth_idbodyintegerNoPackage 11: Bandwidth package ID
» product_sku_concurrency_idbodyintegerNoPackage 11: Concurrency package ID
» recharge_amountbodyintegerNoPackage 3: Recharge amount

Response Example

200 Response

{
	"data": {}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKCreated successfullyInline

Return Data Structure

Cancel Order

POST

/cgi/order/close

Body Request Parameters

{
	"trade_no": "string"
}

Request Parameters

NameLocationTypeRequiredDescription
bodybodyobjectYesnone
» trade_nobodystringYesnone

Response Example

200 Response

{}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKOperation successfulInline

Return Data Structure

User Management

Get User Info - Not Yet Open

GET

/cgi/user/info

Response Example

200 Response

{
	"data": {}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKSuccessInline

Return Data Structure

Payment Management

Get Payment Method List

GET

/cgi/payment/groups

Request Parameters

NameLocationTypeRequiredDescription
trade_noquerystringNoOrder number - Can be passed when specific payment methods are needed for certain orders

Response Example

200 Response

{
	"data": {
		"list": [
			{
				"name": "string",
				"logos": [null],
				"items": [null]
			}
		]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKRetrieved successfullyInline

Return Data Structure

Marketing

Balance Recharge Gift Ratio

GET

/cgi/activity/balance-recharge-gift-ratio

Balance recharge gift ratio

Response Example

200 Response

{
	"data": {
		"list": [null]
	}
}

Return Result

Status CodeStatus Code MeaningDescriptionData Model
200OKOKInline

Return Data Structure