Skip to content
Login Sign up

Legacy Plans Management API

This page covers the management API for legacy port-based plans — grandfathered customers with a fixed range of ports rather than the traffic-based gateway. Use these endpoints to whitelist source IPs, set the per-port geo defaults, and pull the assigned port list.

All endpoints authenticate with an api_token query parameter. Generate a token in the panel under Account → API Tokens.

?api_token=YOUR_API_TOKEN

The {membership} path parameter is your plan ID, shown in the panel on the plan page.

Legacy plans authenticate by source IP only — whitelist the IPs your scrapers connect from.

GET https://shifter.io/api/v1/backconnect/{membership}/authorized-ips
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Example:

Terminal window
curl "https://shifter.io/api/v1/backconnect/MEMBERSHIP_ID/authorized-ips?api_token=YOUR_API_TOKEN"

Response:

{
"ips": ["198.51.100.10", "203.0.113.42"]
}
PUT https://shifter.io/api/v1/backconnect/{membership}/authorized-ips

Replaces the list of authorized IPs with the values provided.

ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token
ips[]bodyyesArray of IPv4 addresses to whitelist

Example (form-encoded, with method override):

Terminal window
curl -X POST "https://shifter.io/api/v1/backconnect/MEMBERSHIP_ID/authorized-ips?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "_method=PUT&ips[]=198.51.100.10&ips[]=203.0.113.42"

Legacy ports have a per-plan geo assignment. Set it once and every port in the plan routes through IPs in the configured countries (or advanced filters).

GET https://shifter.io/api/v1/backconnect/{membership}/geo
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Response:

{
"geo": ["us", "gb"],
"advanced_geo": []
}
PUT https://shifter.io/api/v1/backconnect/{membership}/geo
ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token
geo[]bodyyesArray of ISO-3166-1 alpha-2 country codes
advanced_geo[]bodynoArray of advanced geo filters (city or ASN)
Terminal window
curl -X POST "https://shifter.io/api/v1/backconnect/MEMBERSHIP_ID/geo?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "_method=PUT&geo[]=us&geo[]=uk&geo[]=ca"
GET https://shifter.io/api/v1/backconnect/{membership}/proxies

Returns the list of host:port entries for each port in your legacy plan.

ParameterInRequiredDescription
membershippathyesThe plan ID
api_tokenqueryyesYour account API token

Response:

{
"proxies": [
{ "host": "apollo.p.shifter.io", "port": 10001 },
{ "host": "zeus.p.shifter.io", "port": 10002 },
{ "host": "cronos.p.shifter.io", "port": 10003 }
]
}

Many proxy-aware HTTP clients strip non-standard methods. The management API accepts POST with a _method=PUT form field as equivalent to PUT.