빠른 시작
export KEY='YOUR_KEY'export BASE='https://ipv.rent'판매 중인 상품
섹션 제목: “판매 중인 상품”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는 이후 모든 요청에서 product 필드의 값입니다. 여기서부터는 상품마다 한 갈래씩 진행합니다.
Residential
섹션 제목: “Residential”1. 가격
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. 구매
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"}멱등성 키는 요청 전에 저장해 두세요: 타임아웃 후 재시도할 때 같은 값을 보내야 합니다.
3. 연결
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. 확인
IPv4
섹션 제목: “IPv4”1. 선택할 수 있는 것
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는 국가 안의 위치입니다: 국가 전체 또는 도시. available은 그 위치에서 지금 비어 있는
주소 수이며, 이보다 많이 살 수는 없습니다. quantity_max: null은 구매 수량에 별도 제한이 없다는
뜻입니다.
2. 가격
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. 구매
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}한 번의 구매로 받은 모든 주소는 하나의 패키지입니다.
4. 주소와 접속 정보
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 } ], "...": "..."}주소는 구매 후 2분 이내에 응답하기 시작합니다.
5. 확인
연장, 자동 갱신, 주소 교체, 지문은 고정 주소 페이지에 있습니다.
모바일
섹션 제목: “모바일”1. 선택할 수 있는 것
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는 해당 국가의 이동통신사입니다. available - 그 통신사에서 지금 비어 있는 포트 수이며,
그보다 많이 살 수 없습니다.
2. 가격
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. 구매
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 }'통신사의 빈 포트가 요청한 수보다 적으면 구매는 422
out_of_stock으로 거절됩니다. 금액은 차감되지 않습니다.
4. 포트와 접속 정보
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와 SOCKS5는 같은 포트에서 작동합니다.
5. 확인과 IP 변경
curl -s 'https://ipv.rent/r/9f3c1e...'rotation_url에 GET을 보내면 포트가 같은 통신사의 새 IP를 받습니다. 응답 목록은
IP 변경에 있습니다. IP가 바뀌는 동안 포트는 몇 초간 연결을 끊습니다.
IP 변경 타이머는 대시보드에서 설정합니다.
연장, 자동 갱신, 비밀번호는 고정 주소 페이지에 있습니다: 모바일 패키지에도 똑같이 적용됩니다. 주소 교체와 지문은 모바일 포트에서 사용할 수 없습니다. 기간이 끝난 모바일 포트는 연장할 수 없습니다.