OpenAPI
The app_key authentication key can be found on your personal homepage after logging in.
Please keep your key safe, as it grants administrator privileges to your account.
Base URLs:
Authentication
Agent Account Management
GET Proxy Account List
GET /openapi/whitelist-account/list
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"id": 0,
				"username": "string",
				"password": "string",
				"created_at": "string",
				"remark": "string",
				"product_type": 9,
				"usage_flow": 0,
				"limit_flow": 102400,
				"status": 0
			}
		]
	}
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | responseCode | false | none | Status code, 200 success, 3 invalid app_key | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» id | integer | false | none | Account Number | |
| »»» username | string | false | none | Agent Account Name | |
| »»» password | string | false | none | Agent Account Password | |
| »»» created_at | string | false | none | Add Time | |
| »»» remark | string | false | none | Remarks | |
| »»» product_type | productTypes | false | none | Package type: 9 Dynamic Residential Traffic Package, 11 Dynamic Residential IP, 14 Static Data Center IP, 25 Static Residential IP | |
| »»» usage_flow | integer | false | none | Used traffic, unit: KB | |
| »»» limit_flow | integer | false | none | Custom traffic limit: unit GB, maximum 102400, 0 for unlimited | |
| »»» status | integer | false | none | Enabled status: 1 enabled, 0 disabled | 
Enumeration values
| Attributes | Value | 
|---|---|
| product_type | 9 | 
| product_type | 11 | 
| product_type | 14 | 
| product_type | 25 | 
POST add proxy account.
POST /openapi/whitelist-account/add
Body Request Parameters
{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01:pass,user02:pass,user03:pass",
	"remark": "",
	"product_type": 9
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » accounts | body | string | No | Account password, please fill in the format username:password. The account and password only support numbers and letters, and it is forbidden to enter any special symbols or spaces. Separate the account and password with a colon. Supports batch addition, separate proxy accounts with English commas (,). | 
| » remark | body | string | No | Proxy Account Description | 
| » product_type | body | productTypes | No | Package type: 9 Dynamic Residential Traffic Package, 11 Dynamic Residential IP, 14 Static Data Center IP, 25 Static Residential IP | 
Enumeration values
| Attributes | Value | 
|---|---|
| » product_type | 9 | 
| » product_type | 11 | 
| » product_type | 14 | 
| » product_type | 25 | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Delete Proxy Account
POST /openapi/whitelist-account/delete
Please note that deletion is irreversible, and used traffic etc. cannot be queried. Deletion takes approximately 5 minutes, and charges may still be incurred during this time.
Body Request Parameters
{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » accounts | body | string | No | Proxy account, only supports numbers and letters. Supports batch operations, separate proxy accounts with English commas (,). | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Disable Proxy Account
POST /openapi/whitelist-account/disable
Disabling has an approximate 5-minute wait time, during which charges may still be incurred.
Body Request Parameters
{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » accounts | body | string | No | Proxy accounts, supporting only numbers and letters. Supports batch operations, with proxy accounts separated by English commas (,). | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Enable Proxy Account
POST /openapi/whitelist-account/enable
Body Request Parameters
{
	"app_key": "stringstringstringstringstringst",
	"accounts": "user01,user02"
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » accounts | body | string | No | Proxy account, only supports numbers and letters. Supports batch operations, separate proxy accounts with English commas (,) | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Modify proxy account password
POST /openapi/whitelist-account/change-password
Please note that there is a 5-minute waiting period after the modification, during which the old password may still be used normally.
Body request parameters
{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"password": "pass"
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization key | 
| » account | body | string | No | Proxy account, only supports numbers and letters. | 
| » password | body | string | No | New password for proxy account, only numbers and letters are supported. | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Modify proxy account remarks
POST /openapi/whitelist-account/change-remark
Body request parameters
{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"remark": ""
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » account | body | string | No | Proxy account, only supports numbers and letters. | 
| » remark | body | string | No | New proxy account note, within 32 Chinese characters or 64 English characters. | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
POST Modify Agent Account Traffic Limit
POST /openapi/whitelist-account/change-limit
Please note that there may be a delay of up to 5 minutes in traffic statistics, meaning that the actual traffic consumption may exceed this limit.
Body Request Parameters
{
	"app_key": "stringstringstringstringstringst",
	"account": "user",
	"limit": 0
}
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| body | body | object | No | none | 
| » app_key | body | string | No | Authorization Key | 
| » account | body | string | No | Proxy account, supports only numbers and letters. | 
| » limit | body | integer | No | Traffic limit, unit: GB, 0 for unlimited | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": null
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | null | false | none | none | 
Traffic Log Query
GET Daily Traffic Usage
GET /openapi/user-usage-flow/total
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| app_key | query | string(password) | Yes | Authentication Key | 
| start_time | query | string(Y-m-d H:i:s) | No | Start time, accurate to the second. Please note that there is a delay of up to 5 minutes in the logs. The default is within 7 days. | 
| end_time | query | string(Y-m-d H:i:s) | No | End time, accurate to the second. Please note that there is a delay of up to 5 minutes in the logs. The default is the current time. | 
| username | query | string | No | Sub-account name, the default is to query all accounts, and you can specify a sub-account. Please note that if you add sub-accounts with the same name, this query will return all usage records for proxy accounts with the same name. | 
| product_type | query | number | No | Package Type | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": {
		"list": [
			{
				"day": "2022-08-01",
				"flow": 0
			}
		]
	}
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» day | string | false | none | Date | |
| »»» flow | integer | false | none | Traffic consumption, unit: KB | 
Package Query
GET Purchased Package List
GET /openapi/user-product/list
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| app_key | query | string(password) | Yes | Authentication Key | 
| trade_no | query | string | No | Order number, please enter the complete order number. Fuzzy search is not supported. | 
| page | query | number | No | Page number, default: 1 | 
| size | query | number | No | Number of items per page, default: 20 | 
| product_type | query | number | No | Package Type | 
Return 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": 9,
				"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 Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | none | |
| »»» id | integer | false | none | Package ID | |
| »»» created_at | string | false | none | Package Effective Time | |
| »»» expired_at | string | false | none | Package expiration time, after which traffic cannot be used. | |
| »»» product_type | productTypes | false | none | Package type: 9 Dynamic Residential Traffic Package, 11 Dynamic Residential IP, 14 Static Data Center IP, 25 Static Residential IP | |
| »»» trade_no | string | false | none | Order Transaction Number | |
| »»» order | object | false | none | none | |
| »»»» created_at | string | false | none | Order Creation Time | |
| »»»» pay_at | string | false | none | Order Payment Time | |
| »»»» title | string | false | none | Order description | |
| »» page | integer | false | none | Current Page | |
| »» page_size | integer | false | none | Page Size | |
| »» total_count | integer | false | none | Total Records | |
| »» total_page | integer | false | none | Total number of pages | 
Enumeration values
| Attributes | Value | 
|---|---|
| product_type | 9 | 
| product_type | 11 | 
| product_type | 14 | 
| product_type | 25 | 
IP Extraction
GET Extract IP
GET /openapi/ip/v3
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| app_key | query | string(password) | No | Access Key | 
| cc | query | string | No | Country or region | 
| state | query | string | No | Province or state | 
| city | query | string | No | City | 
| format | query | string | No | Get Format | 
| lb | query | string | No | Separator, only valid for text format | 
| num | query | number | No | Extraction quantity | 
| life | query | number | No | Keep Alive Interval - Minutes | 
| ep | query | string | No | Proxy Network | 
Return 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 Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [any] | false | none | none | 
GET City List
GET /openapi/ip/dynamic-citys
Return 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 Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | List | |
| »»» name_zh_cn | string | false | none | Country or region name | |
| »»» name_en | string | false | none | Country or region name | |
| »»» continent_code | string | false | none | Continent Code | |
| »»» country_code | string | false | none | Country or region code | |
| »»» items | [object] | false | none | Province or state | |
| »»»» city | string | false | none | City Name | |
| »»»» state | string | false | none | State or province name code | |
| »»»» continent_code | string | false | none | Continent Code | |
| »»»» country_code | string | false | none | Country or region code | 
GET City Search
GET /openapi/ip/dynamic-citys/search
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| country_code | query | string | Yes | Country or region code | 
| state | query | string | Yes | State or province code | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": {
		"list": ["string"]
	}
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [string] | false | none | List | 
GET State List
GET /openapi/ip/dynamic-states
Return 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 Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [object] | false | none | List | |
| »»» name_zh_cn | string | false | none | Country or region name | |
| »»» name_en | string | false | none | Country or region name | |
| »»» continent_code | string | false | none | Continent Code | |
| »»» country_code | string | false | none | Country or region code | |
| »»» items | [object] | false | none | Province or state | |
| »»»» state | string | false | none | State or province name code | |
| »»»» continent_code | string | false | none | Continent Code | |
| »»»» country_code | string | false | none | Country or region code | 
GET State/Province Search
GET /openapi/ip/dynamic-states/search
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| country_code | query | string | Yes | Country or region code | 
Return Example
200 Response
{
	"code": 200,
	"msg": "string",
	"data": {
		"list": ["string"]
	}
}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | Request succeeded | Inline | 
Return data structure
Status code 200
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| » code | integer | false | none | Status code: 200 success, 3 invalid app_key, 156 account not real-name authenticated | |
| » msg | string | false | none | Status message | |
| » data | object | false | none | none | |
| »» list | [string] | false | none | List | 
GET Get Static IP List
GET /ip/get-static-ip
Request Parameters
| Name | Location | Type | Required | Explanation | 
|---|---|---|---|---|
| country_code | query | string | No | Country or region code | 
| product_type | query | number | No | Product Type, 25: Static Residential IP, 14: Datacenter IP | 
| trade_no | query | string | No | Filter IP by order number | 
| page | query | number | No | Page number | 
| size | query | number | No | Items per page | 
| status | query | number | No | Status, 1: valid, 2: invalid, 3: expiring soon, 4: under maintenance | 
Enumeration values
| Attributes | Value | 
|---|---|
| product_type | 14 | 
| product_type | 25 | 
| status | 1 | 
| status | 2 | 
| status | 3 | 
| status | 4 | 
Return Example
200 Response
{}
Return result
| Status Code | Meaning of Status Code | Explanation | Data Model | 
|---|---|---|---|
| 200 | OK | none | Inline | 
Return data structure
Data Model
productTypes
9
Package type: 9 Dynamic Residential Traffic Package, 11 Dynamic Residential IP, 14 Static Data Center IP, 25 Static Residential IP
Attribute
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| anonymous | integer | false | none | Package type: 9 Dynamic Residential Traffic Package, 11 Dynamic Residential IP, 14 Static Data Center IP, 25 Static Residential IP | 
Enumeration values
| Attributes | Value | 
|---|---|
| anonymous | 9 | 
| anonymous | 11 | 
| anonymous | 14 | 
| anonymous | 25 | 
apiKey
null
Authentication Key
Attribute
None
responseCode
200
Status code, 200 success, 3 app_key invalid
Attribute
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| anonymous | integer | false | none | Status code, 200 success, 3 invalid app_key | 
responseMsg
"success"
response message
Attribute
| Name | Type | Required | Constraint | Chinese Name | Explanation | 
|---|---|---|---|---|---|
| anonymous | string | false | none | response message | 
