Getting started
The ProxyKite API lets your own scripts do what you do in the panel: list your proxies, rotate their IPs, change passwords and whitelists, and read usage, SMS and rotation history.
1. Create an API token
- Sign in to the panel at proxykite.com.
- Open API tokens in the left menu.
- Give the token a name (for example
my-scraper), pick its access level —read,rotateormanage(see Authentication & abilities) — and optionally an expiry in days. - Click Create and copy the token now. It is shown only once. It looks like
12|AbCdEf….
Store it in an environment variable rather than in your code:
Revoke a token at any time on the same page; it stops working immediately.
2. Base URL and headers
Successful responses wrap their payload in a data key:
The one exception is POST /proxies/{id}/rotate, which answers with a flat
{"ok": true, "old_ip": "…", "new_ip": "…"} object.
3. Your first request
Check that the token works with GET /me. Every endpoint page has the same example in four
languages: curl, Python (requests), Node.js (18+, built-in fetch; save as .mjs for top-level await)
and PHP (curl extension). All of them read the token from the HYP_TOKEN environment variable.
Then list your proxies with GET /proxies and rotate one with
POST /proxies/{id}/rotate.
Rate limits
- 120 requests per minute per login across all of that login's tokens. Over the limit you get
429 rate_limitedwith aRetry-Afterheader (seconds). - Rotation links (
/r/{token}, no API token) have their own limits: 6 per minute per link and 30 per minute per client IP. - A rotation takes up to about 60 seconds; a second rotation of the same proxy while one is running answers
409 rotation_in_progress.
Errors
Every error is JSON with a machine-readable error code and a human message, and the HTTP status matches:
Validation errors (422) also list the bad fields:
The full list of codes is on Errors & rate limits.