Início rápido
export KEY='SUA_CHAVE'export BASE='https://ipv.rent'O que está à venda
Seção intitulada “O que está à venda”curl -s "$BASE/api/v1/products" -H "Authorization: Bearer $KEY"{ "products": [ { "slug": "residential", "name": "Residential", "family": "traffic_gateway", "unit": "gb", "unit_price": "2.00", "monthly_price_from": null, "currency": "USD", "min_volume": 1, "volume_presets": [1, 5, 10, 25, 50, 100, 250, 500], "volume_discounts": [] }, { "slug": "ipv4", "name": "IPv4", "family": "dedicated", "unit": "ip", "unit_price": null, "monthly_price_from": "1.49", "currency": "USD", "min_volume": 1, "volume_presets": [], "volume_discounts": [] } ]}slug é o valor do campo product em todas as requisições seguintes. A partir daqui, um caminho por produto.
Residential
Seção intitulada “Residential”1. Preço
curl -s -X POST "$BASE/api/v1/quote" \ -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \ -d '{"product":"residential","volume":10}'{ "unit": "2.00", "unit_label": "per_gb", "quantity": 10, "discount": "0.00", "discount_percent": "0.00", "total": "20.00", "currency": "USD"}2. Compra
curl -s -X POST "$BASE/api/v1/packages" \ -H "Authorization: Bearer $KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H 'Content-Type: application/json' \ -d '{ "product": "residential", "volume": 10, "client_reference": "first-run" }'{ "order_id": 128, "package_id": 42, "status": "completed", "price": "20.00", "client_reference": "first-run"}Guarde a chave de idempotência antes da requisição: uma nova tentativa após timeout deve levar o mesmo valor.
3. Conexões
curl -s -X POST "$BASE/api/v1/packages/42/proxies" \ -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \ -d '{ "count": 2, "mode": "sticky", "protocol": "http", "ttl_minutes": 30, "geo": { "country": "us" } }'{ "count": 2, "proxies": [ { "host": "residential.ipv.rent", "port": 10000, "username": "USERNAME_1", "password": "PASSWORD", "rotation_url": "https://ipv.rent/r/9f3c1e..." }, { "host": "residential.ipv.rent", "port": 10000, "username": "USERNAME_2", "password": "PASSWORD", "rotation_url": "https://ipv.rent/r/1a77b2..." } ]}4. Verificação
1. O que pode ser escolhido
curl -s "$BASE/api/v1/products/ipv4/options" -H "Authorization: Bearer $KEY"{ "type": "ipv4", "countries": [ { "code": "us", "name": "United States", "periods": ["week", "2_weeks", "month", "2_months", "3_months"], "quantity_max": null, "plans": [ { "id": "dc", "traffic_gb": null, "periods": ["week", "2_weeks", "month", "2_months", "3_months"], "operators": [ { "id": "united-states", "name": "United States", "available": 374 } ] } ] }, "..." ]}operators - locais dentro do país: o país inteiro ou uma cidade. available - quantos endereços
estão livres ali agora; não é possível comprar mais que isso. quantity_max: null - não há limite
próprio por compra.
2. Preço
curl -s -X POST "$BASE/api/v1/quote" \ -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \ -d '{ "product": "ipv4", "country": "us", "operator": "united-states", "period": "month", "quantity": 2 }'{ "unit": "1.49", "unit_label": "per_ip", "quantity": 2, "discount": "0.00", "discount_percent": "0.00", "total": "2.98", "currency": "USD"}3. Compra
curl -s -X POST "$BASE/api/v1/packages" \ -H "Authorization: Bearer $KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H 'Content-Type: application/json' \ -d '{ "product": "ipv4", "country": "us", "operator": "united-states", "period": "month", "quantity": 2 }'{ "order_id": 131, "package_id": 57, "status": "completed", "price": "2.98", "client_reference": null, "package_ids": [57], "requested": 2, "fulfilled": 2}Todos os endereços de uma compra formam um único pacote.
4. Endereços e acesso
curl -s "$BASE/api/v1/packages/57" -H "Authorization: Bearer $KEY"{ "id": 57, "family": "dedicated", "product": "ipv4", "status": "active", "expires_at": "2026-11-04T12:00:00+00:00", "auto_renew": true, "credentials": { "username": "USERNAME", "password": "PASSWORD" }, "addresses": [ { "host": "198.51.100.11", "port_http": 10010, "port_socks": 10011 }, { "host": "198.51.100.12", "port_http": 10012, "port_socks": 10013 } ], "...": "..."}Os endereços começam a responder em até 2 minutos após a compra.
5. Verificação
Prolongamento, renovação automática, substituição de endereços e impressão digital estão na página Endereços fixos.
1. O que pode ser escolhido
curl -s "$BASE/api/v1/products/mobile/options" -H "Authorization: Bearer $KEY"{ "type": "mobile", "countries": [ { "code": "fr", "name": "France", "periods": ["day", "week", "month", "3_months"], "quantity_max": null, "plans": [ { "id": "unlimited", "traffic_gb": null, "periods": ["day", "week", "month", "3_months"], "operators": [ { "id": "free-mobile", "name": "Free Mobile", "available": 7 }, { "id": "sfr", "name": "SFR", "available": 3 } ] } ] }, "..." ]}operators são as operadoras móveis do país. available - quantas portas dessa operadora
estão livres agora; não é possível comprar mais.
2. Preço
curl -s -X POST "$BASE/api/v1/quote" \ -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \ -d '{ "product": "mobile", "country": "fr", "operator": "free-mobile", "period": "day", "quantity": 1 }'3. Compra
curl -s -X POST "$BASE/api/v1/packages" \ -H "Authorization: Bearer $KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H 'Content-Type: application/json' \ -d '{ "product": "mobile", "country": "fr", "operator": "free-mobile", "period": "day", "quantity": 1 }'Se a operadora tiver menos portas livres do que o solicitado, a compra é recusada com 422
out_of_stock. Nada é cobrado.
4. Porta e acesso
curl -s "$BASE/api/v1/packages/58" -H "Authorization: Bearer $KEY"{ "id": 58, "family": "dedicated", "product": "mobile", "status": "active", "credentials": { "username": "USERNAME", "password": "PASSWORD" }, "addresses": [ { "host": "fr2.mobile.ipv.rent", "port_http": 13029, "port_socks": 13029 } ], "endpoint": { "country": "fr", "operator": "Free Mobile", "rotation_interval_minutes": 0, "rotation_url": "https://ipv.rent/r/9f3c1e..." }, "capabilities": ["prolong", "rotate", "rotation_interval", "credentials", "renewal"], "...": "..."}HTTP e SOCKS5 funcionam na mesma porta.
5. Verificação e troca de IP
curl -s 'https://ipv.rent/r/9f3c1e...'Um GET em rotation_url dá à porta um novo IP da mesma operadora; as respostas estão em
Troca de IP. Enquanto o IP muda, a porta derruba as conexões por alguns segundos.
O timer de troca de IP é configurado no painel.
Prolongamento, renovação automática e senha - na página Endereços fixos: para um pacote móvel funcionam da mesma forma. Substituição de endereços e impressão digital não estão disponíveis para portas móveis. Depois do fim do período, uma porta móvel não pode ser prolongada.