Home / Guides / API

ShadowProxy API

Control your 4G proxies from your own programs with an API key: list, IP change, history. Ready-to-copy curl and Python examples.

The ShadowProxy API lets you control your 4G proxies from your own programs: list your proxies and their access details, change the IP and get the new address back, read the IP history. It answers in JSON at https://shadowproxy.fr/api/v1.

It complements each proxy’s rotation link: one key covers all your proxies, and you also get their status and data usage. It gives no access to orders, payments or your personal details.

A question or a specific need? Write to us at contact@shadowproxy.fr.

1. Create a key

In your customer area, open My account, section API keys, then Create a key. Give it a name (for example “scraping script”). The key starts with sp_ and is shown only once: copy it right away. You can have up to 5 keys and delete one at any time; it stops working immediately. An e-mail lets you know each time a key is created.

2. Authenticate

Send the key in the Authorization header (or in the X-API-Key header):

curl https://shadowproxy.fr/api/v1/ping \
  -H "Authorization: Bearer sp_YOUR_KEY"
# {"ok":true}

Messages are in your account’s language. To force one, add the header X-Lang: en or X-Lang: fr.

3. Available actions

MethodPathWhat it does
GET/api/v1/pingChecks that the key works.
GET/api/v1/proxiesLists your proxies, their status, access details and data usage.
GET/api/v1/proxies/{id}One proxy in detail.
POST/api/v1/proxies/{id}/rotateChanges the IP. With ?wait=1, returns the new IP once it is active.
GET/api/v1/proxies/{id}/ipsThe proxy’s last 50 IPs, with their date.

4. List your proxies

curl https://shadowproxy.fr/api/v1/proxies -H "Authorization: Bearer sp_YOUR_KEY"
{
  "proxies": [
    {
      "id": "sp123456",
      "name": "Proxy 4G 1",
      "status": "online",
      "online": true,
      "ip": "37.165.12.34",
      "network": "4G",
      "signal": 3,
      "http": "proxy.shadowproxy.fr:10001:sp123456:Password",
      "socks5": "proxy.shadowproxy.fr:20001:sp123456:Password",
      "lastIpChangeAt": "2026-11-10T09:12:44.000Z",
      "data": { "periodStart": "2026-11-01", "periodEnd": "2026-12-01", "usedBytes": 5120000000, "includedGb": 200 },
      "subscriptionEnd": "2026-12-01"
    }
  ]
}

Proxy fields:

5. Change the IP

Without a parameter, the answer comes right away (code 202) and the change takes under 20 seconds. With ?wait=1, the answer comes once the new IP is active, with the address:

curl -X POST "https://shadowproxy.fr/api/v1/proxies/sp123456/rotate?wait=1" \
  -H "Authorization: Bearer sp_YOUR_KEY"
# {"ok":true,"status":"done","ip":"78.240.12.34","message":"New IP assigned."}

6. Full Python example

import requests

API = "https://shadowproxy.fr/api/v1"
HEADERS = {"Authorization": "Bearer sp_YOUR_KEY"}

# Your proxies
proxies = requests.get(f"{API}/proxies", headers=HEADERS, timeout=30).json()["proxies"]
p = proxies[0]
print(p["name"], p["ip"], p["online"])

# New IP, waiting until it is active
r = requests.post(f"{API}/proxies/{p['id']}/rotate", params={"wait": 1}, headers=HEADERS, timeout=120)
print("New IP:", r.json().get("ip"))

# IP history (last 50)
ips = requests.get(f"{API}/proxies/{p['id']}/ips", headers=HEADERS, timeout=30).json()["ips"]

7. Errors

CodeErrorMeaning
401invalid_keyKey missing, wrong or deleted.
404not_foundThis proxy does not exist on your account.
409busyAn IP change is already in progress on this proxy.
429—Too many requests: wait a little before trying again.
502—The IP change did not go through: try again in a moment.

8. Limits

9. Security

No proxy yet? Dedicated French 4G proxy, 200 GB per month, API included: €30 per month, no commitment.

Order a 4G proxy

Frequently asked questions

Another question? Write to us at contact@shadowproxy.fr.

How much does the API cost?

Nothing extra: it is included with every 4G proxy, with no limits other than those on this page.

Does the rotation link still work?

Yes. Each proxy’s rotation link is still available; the API key lets you control all your proxies with a single key and read their status.

What if my key leaked?

Delete it in My account, API keys: it stops working immediately. Create a new one and, to be safe, change your password.