Skip to main content
See the Swagger UI for live request/response schemas and to try endpoints directly in your browser.

List proxies

Returns all proxy lists owned by the authenticated user with full details: tariff, limits, traffic usage, and settings.
GET /v1/proxy
Query parameters
ParameterTypeRequiredDescription
statusstringNoFilter by status. Comma-separated: active,pending
searchstringNoPartial name match (case-insensitive)
limitintegerNoItems per page. Default: 100
pageintegerNoPage number starting from 0. Default: 0
orderstringNoSort direction: asc or desc. Default: desc
order_bystringNoSort field: name, status, tariff.name, traffic_used.total_used, total_spent, created_at
statistic_fromstringNoStart date for traffic statistics period (YYYY-MM-DD)
statistic_tostringNoEnd date for traffic statistics period (YYYY-MM-DD)
Scope: proxies:read
curl https://api.2extract.com/v1/proxy \
  -H "X-API-Key: 2xt_YOUR_API_KEY"

Create proxy

Provisions a new proxy list.
POST /v1/proxy
Request body
FieldTypeRequiredDescription
namestringYesProxy name. Lowercase letters, digits, and underscores only. Immutable after creation.
proxy_typestringYesresidential or mobile
tariff_idintegerYesPlan ID. Get available plans from GET /v1/plans.
countriesinteger[]NoList of country IDs to target. Get IDs from GET /v1/geo/countries.
descriptionstringNoHuman-readable label
ip_whiteliststring[]NoIP addresses allowed to connect to this proxy
limitsobjectNoSpending or traffic limits (see below)
limits.limit_typestringNomoney or traffic
limits.time_periodstringNodaily or monthly
limits.total_limitnumberNoLimit value. For money - USD. For traffic - bytes.
Scope: proxies:write
curl -X POST https://api.2extract.com/v1/proxy \
  -H "X-API-Key: 2xt_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "myproxylist01",
    "proxy_type": "residential",
    "tariff_id": 1,
    "countries": [84],
    "description": "My personal proxy list",
    "ip_whitelist": ["192.168.1.1"],
    "limits": {
      "limit_type": "money",
      "time_period": "monthly",
      "total_limit": 100
    }
  }'
Example response
{
  "result": true,
  "data": {
    "id": "86Rf07",
    "name": "myproxylist01",
    "description": "My personal proxy list",
    "host": "proxy.2extract.net",
    "port": 5555,
    "password": "1jw9j7zwwur",
    "status": "active",
    "type": "residential",
    "user_id": 123,
    "created_at": "2026-01-01T10:00:00Z",
    "updated_at": "2026-01-01T10:00:00Z"
  }
}

Get proxy

Returns full details for a single proxy list.
GET /v1/proxy/{id}
Path parameters
ParameterTypeDescription
idstringProxy list ID (e.g. 86Rf07)
Scope: proxies:read
curl https://api.2extract.com/v1/proxy/86Rf07 \
  -H "X-API-Key: 2xt_YOUR_API_KEY"

Update proxy

Updates settings for an existing proxy list. Only fields included in the request body are changed.
PUT /v1/proxy/{id}
Path parameters
ParameterTypeDescription
idstringProxy list ID
Request body
FieldTypeDescription
countriesinteger[]Replace the country targeting list
descriptionstringUpdate the description
statusstringProxy status, e.g. active
ip_whiteliststring[]Replace the IP whitelist
limitsobjectUpdate spending or traffic limits
Scope: proxies:write
curl -X PUT https://api.2extract.com/v1/proxy/86Rf07 \
  -H "X-API-Key: 2xt_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "countries": [84],
    "description": "Updated description",
    "status": "active"
  }'

Delete proxy

Soft-deletes a proxy list. The proxy stops accepting connections immediately.
DELETE /v1/proxy/{id}
Path parameters
ParameterTypeDescription
idstringProxy list ID
Scope: proxies:write
curl -X DELETE https://api.2extract.com/v1/proxy/86Rf07 \
  -H "X-API-Key: 2xt_YOUR_API_KEY"

Update proxy limits

Sets or replaces the spending or traffic limit for a proxy list.
PUT /v1/proxy/{id}/limits
Path parameters
ParameterTypeDescription
idstringProxy list ID
Request body
FieldTypeRequiredDescription
limit_typestringYesmoney (USD) or traffic (bytes)
time_periodstringYesdaily or monthly
total_limitnumberYesThe limit value
Scope: proxies:write
curl -X PUT https://api.2extract.com/v1/proxy/86Rf07/limits \
  -H "X-API-Key: 2xt_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "limit_type": "money",
    "time_period": "monthly",
    "total_limit": 100
  }'

Update IP whitelist

Replaces the full IP whitelist for a proxy list. Only IPs on this list are allowed to connect.
PUT /v1/proxy/{id}/whitelist
Path parameters
ParameterTypeDescription
idstringProxy list ID
Request body
FieldTypeRequiredDescription
ipsstring[]YesFull replacement list of authorized IPv4 addresses. Send an empty array to clear.
Scope: proxies:write
curl -X PUT https://api.2extract.com/v1/proxy/86Rf07/whitelist \
  -H "X-API-Key: 2xt_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ips": ["1.2.3.4"]}'

Get target hosts whitelist

Returns the list of target hosts this proxy is allowed to connect to. An empty list means no restriction.
GET /v1/proxy/{id}/target-hosts-whitelist
Path parameters
ParameterTypeDescription
idstringProxy list ID
Scope: proxies:read
curl https://api.2extract.com/v1/proxy/86Rf07/target-hosts-whitelist \
  -H "X-API-Key: 2xt_YOUR_API_KEY"

Set target hosts whitelist

Replaces the target hosts whitelist. When set, the proxy will only forward traffic to the listed hosts. Supports wildcards (e.g. *.example.com).
POST /v1/proxy/{id}/target-hosts-whitelist
Path parameters
ParameterTypeDescription
idstringProxy list ID
Request body
FieldTypeRequiredDescription
target_hostsstring[]YesFull replacement list. Send an empty array to remove the restriction.
Scope: proxies:write
curl -X POST https://api.2extract.com/v1/proxy/86Rf07/target-hosts-whitelist \
  -H "X-API-Key: 2xt_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target_hosts": ["example.com"]}'

Regenerate password

Generates a new password for a proxy list and invalidates the old one. All active connections using the old password will be dropped.
POST /v1/proxy/{id}/password
Path parameters
ParameterTypeDescription
idstringProxy list ID
Scope: proxies:write
curl -X POST https://api.2extract.com/v1/proxy/86Rf07/password \
  -H "X-API-Key: 2xt_YOUR_API_KEY"
Example response
{
  "result": true,
  "data": {
    "id": "86Rf07",
    "password": "newpassword123"
  }
}