Skip to content

API for developers

You can buy proxies and manage them from your own code: place orders, read packages, extend them, follow events. Everything you buy becomes a package. Packages come in two kinds, told apart by the family field:

ResidentialIPv4
familytraffic_gatewaydedicated
What you buya volume of traffic in gigabytesN dedicated addresses for a term
What you pay forgigabytes, traffic does not expireper address per period: week, 2 weeks, month, 2 or 3 months
Connectionsyou build as many lines as you like with any geoa fixed list of addresses with one login and password
IP changerotation or a change-IP linkreplacement of all package addresses once every 30 days
ProductResidentialIPv4

Purchase, the package list and the package card are shared routes for both kinds. Operations that only one kind has are described separately: traffic and fixed addresses.

https://ipv.rent
Terminal window
curl https://ipv.rent/api/v1/balance \
-H 'Authorization: Bearer YOUR_API_KEY'

Sign up at app.ipv.rent, then confirm your email: without confirmation you cannot log in.

A key is issued in the dashboard: Profile → API keys → Create key. The secret is shown once; an account can have up to 20 active keys.

A revoked key stops being accepted immediately, and the api_key.revoked event goes to the log.

401 invalid_api_key - the key was not accepted. 403 insufficient_scope - the key lacks the scope the route requires.

Request and response schemas with every field and example - in the OpenAPI reference.

A key issued without specifying scopes gets all of them. The set of an issued key cannot be changed.

ScopeWhat it opens
catalog:readproducts and their options, the geo catalog, price quotes
packages:readpackage list, package card, renewal options
packages:writepurchase and all package operations: top-up, connections, password, renewal, address replacement, fingerprint, auto-renewal
orders:readorders
orders:writereserved - no route requires it today
billing:readbalance and transactions
events:readevent log

Catalog and purchase - for both kinds:

RouteScopeIdempotency-Key
GET /api/v1/productscatalog:read-
GET /api/v1/products/{product}/optionscatalog:read-
POST /api/v1/quotecatalog:readno
POST /api/v1/packagespackages:writerequired
GET /api/v1/packagespackages:read-
GET /api/v1/packages/{id}packages:read-
POST /api/v1/packages/{id}/passwordpackages:writeno

Residential only:

RouteScopeIdempotency-Key
GET /api/v1/geo/countries, /states, /cities, /asnscatalog:read-
POST /api/v1/packages/{id}/proxiespackages:writeno
POST /api/v1/packages/{id}/topuppackages:writerequired
POST /api/v1/packages/{id}/rotation-secretpackages:writeno

IPv4 only:

RouteScopeIdempotency-Key
GET /api/v1/packages/{id}/prolong-optionspackages:read-
POST /api/v1/packages/{id}/prolongpackages:writerequired
POST /api/v1/packages/{id}/replacepackages:writeno
POST /api/v1/packages/{id}/fingerprintpackages:writeno
POST /api/v1/packages/{id}/renewalpackages:writeno

Account:

RouteScopeIdempotency-Key
GET /api/v1/orders, /orders/{id}orders:read-
GET /api/v1/balance, /transactionsbilling:read-
GET /api/v1/eventsevents:read-

An operation of the other kind on a package answers 422 unsupported_capability.

Balance top-up and key management - only in the dashboard.

120 requests per minute per key, plus 30 per minute for requests that change something (POST). Every response carries RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset; exceeding the limit gives 429 with retry_after and Retry-After: wait the given number of seconds and retry.

Telegram: @ipvrent_support, email [email protected]. Include the request_id from the error body.

News and service status - in the t.me/ipvrent channel.