एंडपॉइंट ब्राउज़ करें
ProxyWing डेवलपर API
सब-यूज़र
अपना रेजिडेंशियल ट्रैफ़िक रीसेल करें। किसी सेवा के तहत सब-यूज़र बनाएं, उन्हें GB दें और वापस लें, उनकी प्रॉक्सी स्ट्रिंग जनरेट करें और उनकी अपनी इस्तेमाल रिपोर्ट से उन्हें बिल करें।
सब-यूज़र बनाएं
आपकी किसी रेजिडेंशियल सेवा के तहत एक सब-यूज़र बनाता है और उस सेवा के बैलेंस से उसमें ट्रैफ़िक ट्रांसफ़र करता है। अपना ट्रैफ़िक रीसेल करने का तरीका यही है: हर सब-यूज़र एक अलग क्रेडेंशियल है, जिसका अपना GB बैलेंस और अपनी इस्तेमाल रिपोर्टिंग होती है। दोनों टियर पर gb GB की पूर्ण संख्या (1, 2, 3 …) होनी चाहिए, कम से कम 1 — दशमलव वाली वैल्यू 422 के साथ अस्वीकार होती हैं। ट्रैफ़िक मूल सेवा से तुरंत घट जाता है। प्रीमियम पर आप username और password चुन सकते हैं; स्टैंडर्ड पर दोनों प्लेटफ़ॉर्म तय करता है और इनमें से कोई भी भेजने पर 400 unsupported_for_tier लौटता है। जब सेवा में इतना बिना बांटा ट्रैफ़िक नहीं बचा हो, तो 409 insufficient_unallocated_traffic लौटता है। Idempotency-Key ज़रूरी है — इसके बिना कोई भी ट्रैफ़िक ट्रांसफ़र होने से पहले ही 400 लौटता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
बॉडी पैरामीटर
gbnumber ज़रूरीनए सब-यूज़र को देने के लिए GB की पूर्ण संख्या। कम से कम 1।
labelstring वैकल्पिकइस सब-यूज़र के लिए आपका अपना पहचान नाम, सेवा के भीतर यूनीक।
usernamestring वैकल्पिकसिर्फ़ प्रीमियम। जैसा भेजा जाए, ठीक वैसा ही इस्तेमाल होता है; 12 कैरेक्टर का रैंडम नाम पाने के लिए इसे न भेजें।
passwordstring वैकल्पिकसिर्फ़ प्रीमियम। 12–64 कैरेक्टर; न भेजें तो हम खुद बना देते हैं।
POST /residential/services/{svc_id}/subuserscurl -X POST "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"label":"acme-client-01","gb":5}'{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 5,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": "MCCk99K80AtGEPY2"
}सब-यूज़र की लिस्ट
रेजिडेंशियल सेवा के लाइव सब-यूज़र, उनके बांटे गए ट्रैफ़िक और स्टेटस के साथ दिखाता है। हटाए गए और फ़ेल हुए सब-यूज़र शामिल नहीं होते। लाइव बैलेंस यहां शामिल नहीं हैं — उन्हें GET .../subusers/{subuser_id}/traffic से पढ़ें। पासवर्ड सिर्फ़ सब-यूज़र बनाते समय और rotate-password से लौटता है, या फिर GET .../subusers/{subuser_id}/credentials से मिलता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
क्वेरी पैरामीटर
limitinteger वैकल्पिकज़्यादा से ज़्यादा कितनी पंक्तियां लौटानी हैं। डिफ़ॉल्ट 50।
offsetinteger वैकल्पिकपेजिनेशन के लिए छोड़ी जाने वाली पंक्तियां।
GET /residential/services/{svc_id}/subuserscurl -X GET "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"subusers": [
{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 5,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": null
}
]
}सब-यूज़र पाएं
एक सब-यूज़र लौटाता है, उसके मौजूदा बांटे गए ट्रैफ़िक और स्टेटस के साथ। लाइव बैलेंस यहां शामिल नहीं हैं — उन्हें GET .../subusers/{subuser_id}/traffic से पढ़ें। पासवर्ड सिर्फ़ सब-यूज़र बनाते समय और rotate-password से लौटता है, या फिर GET .../subusers/{subuser_id}/credentials से मिलता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
GET /residential/services/{svc_id}/subusers/{subuser_id}curl -X GET "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 5,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": null
}सब-यूज़र का नाम बदलें
सब-यूज़र का label अपडेट करता है। लेबल आपका अपना मेटाडेटा है और इसे कभी अपस्ट्रीम नेटवर्क को नहीं भेजा जाता। लाइव बैलेंस यहां शामिल नहीं हैं — उन्हें GET .../subusers/{subuser_id}/traffic से पढ़ें। पासवर्ड सिर्फ़ सब-यूज़र बनाते समय और rotate-password से लौटता है, या फिर GET .../subusers/{subuser_id}/credentials से मिलता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
बॉडी पैरामीटर
labelstring वैकल्पिकइस सब-यूज़र का नया लेबल।
PUT /residential/services/{svc_id}/subusers/{subuser_id}curl -X PUT "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"label":"acme-client-renamed"}'{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 5,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": null
}सब-यूज़र में ट्रैफ़िक जोड़ें
मूल सेवा से इस सब-यूज़र में और ट्रैफ़िक ट्रांसफ़र करता है। gb GB की पूर्ण संख्या (1, 2, 3 …) होनी चाहिए, कम से कम 1; दशमलव वाली वैल्यू 422 के साथ अस्वीकार होती हैं। अगर मूल सेवा में इतना बिना बांटा ट्रैफ़िक नहीं है, तो 409 insufficient_unallocated_traffic लौटता है। Idempotency-Key ज़रूरी है — इसके बिना कोई भी ट्रैफ़िक ट्रांसफ़र होने से पहले ही 400 लौटता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
बॉडी पैरामीटर
gbnumber ज़रूरीसब-यूज़र में ट्रांसफ़र करने के लिए GB की पूर्ण संख्या। कम से कम 1।
POST /residential/services/{svc_id}/subusers/{subuser_id}/allocatecurl -X POST "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/allocate" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"gb":2}'{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 7,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": null
}सब-यूज़र से ट्रैफ़िक वापस लें
सब-यूज़र से ट्रैफ़िक वापस लेकर मूल सेवा में लौटाता है। सब-यूज़र के पास बचा पूरा ट्रैफ़िक वापस लेने के लिए gb न भेजें। ट्रैफ़िक जोड़ने के उलट, यहां gb दशमलव में हो सकता है: जिस सब-यूज़र को 3 GB मिले और जिसने 0.4 खर्च कर दिए, उसके पास 2.6 बचते हैं, और यह बचा हिस्सा वापस लिया जा सकना चाहिए। सब-यूज़र के पास जितना है उससे ज़्यादा मांगने पर 409 insufficient_subuser_traffic लौटता है और उपलब्ध सटीक मात्रा बताई जाती है। Idempotency-Key ज़रूरी है — इसके बिना कोई भी ट्रैफ़िक ट्रांसफ़र होने से पहले ही 400 लौटता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
बॉडी पैरामीटर
gbnumber वैकल्पिकवापस लेने के लिए GB। बचा हुआ पूरा बैलेंस वापस लेने के लिए इसे न भेजें।
POST /residential/services/{svc_id}/subusers/{subuser_id}/reclaimcurl -X POST "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/reclaim" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"gb":2}'{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 3,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": null
}सब-यूज़र हटाएं
सब-यूज़र को हटाता है। उसके पास बचा ट्रैफ़िक पहले मूल सेवा में लौटा दिया जाता है, इसलिए कुछ भी नहीं खोता। क्रेडेंशियल तुरंत काम करना बंद कर देता है। प्रीमियम यूज़रनेम हटाने के बाद भी रिज़र्व रहता है और उसे दोबारा इस्तेमाल नहीं किया जा सकता। Idempotency-Key ज़रूरी है — इसके बिना कोई भी ट्रैफ़िक ट्रांसफ़र होने से पहले ही 400 लौटता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
DELETE /residential/services/{svc_id}/subusers/{subuser_id}curl -X DELETE "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f"{
"id": "rsub_42",
"status": "deleted"
}सब-यूज़र क्रेडेंशियल पाएं
इस सब-यूज़र के लिए गेटवे, पोर्ट और क्रेडेंशियल लौटाता है — यानी वह जो आप अपने ग्राहक को देते हैं। प्रीमियम पर टारगेटिंग टोकन पासवर्ड के आख़िर में जुड़ते हैं; स्टैंडर्ड पर यूज़रनेम एक तय शेयर्ड वैल्यू है और टोकन यूज़रनेम के आख़िर में जुड़ते हैं, जबकि पासवर्ड से सब-यूज़र की पहचान होती है। targeting_field बताता है कि कौन-सा तरीका लागू है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
GET /residential/services/{svc_id}/subusers/{subuser_id}/credentialscurl -X GET "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/credentials" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "rsub_42",
"tier": "premium",
"gateway": "premium.proxywing.com",
"http_ports": [
12345,
54321
],
"socks5_ports": [
12345,
54321
],
"username": "uexxjq9gp4xn",
"password": "MCCk99K80AtGEPY2",
"targeting_field": "password"
}सब-यूज़र का पासवर्ड रोटेट करें
सब-यूज़र के लिए नया पासवर्ड जारी करता है; पुराना पासवर्ड तुरंत ऑथेंटिकेट करना बंद कर देता है। प्रीमियम पर टारगेटिंग टोकन पासवर्ड में होते हैं, इसलिए रोटेट करने से इस सब-यूज़र के लिए आपकी दी गई सभी प्रॉक्सी स्ट्रिंग अमान्य हो जाती हैं — उन्हें दोबारा जारी करें। स्टैंडर्ड पर टोकन यूज़रनेम में होते हैं, इसलिए पहले जारी की गई स्ट्रिंग में सिर्फ़ नया पासवर्ड डालना होता है। Idempotency-Key ज़रूरी है — इसके बिना कोई भी ट्रैफ़िक ट्रांसफ़र होने से पहले ही 400 लौटता है।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
बॉडी पैरामीटर
passwordstring वैकल्पिकसिर्फ़ प्रीमियम। अपने-आप जनरेट करवाने के लिए इसे न भेजें।
POST /residential/services/{svc_id}/subusers/{subuser_id}/rotate-passwordcurl -X POST "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/rotate-password" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{}'{
"id": "rsub_42",
"service_id": "resi_100001",
"tier": "premium",
"label": "acme-client-01",
"username": "uexxjq9gp4xn",
"allocated_gb": 5,
"used_gb": null,
"available_gb": null,
"status": "active",
"created_at": "2026-07-26T08:12:44Z",
"password": "7Qp2LmXe4RtVbN91"
}सब-यूज़र ट्रैफ़िक पाएं
सब-यूज़र का लाइव बैलेंस, जो हमारे कैश से नहीं बल्कि सीधे नेटवर्क से पढ़ा जाता है। जिस सब-यूज़र का बैलेंस शून्य हो जाता है, उसे गेटवे तब तक मना करता है जब तक आप और ट्रैफ़िक नहीं देते।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
GET /residential/services/{svc_id}/subusers/{subuser_id}/trafficcurl -X GET "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/traffic" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "rsub_42",
"allocated_gb": 5,
"used_gb": 1.204,
"available_gb": 3.796
}सब-यूज़र इस्तेमाल रिपोर्ट
किसी तारीख सीमा में हर सब-यूज़र का इस्तेमाल, सेवा-स्तर की रिपोर्ट वाले ही फ़ॉर्मैट में — ताकि आप कुछ नया बनाए बिना इसी से अपने ग्राहक को बिल कर सकें।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
क्वेरी पैरामीटर
date_fromstring ज़रूरीशुरुआती तारीख, YYYY-MM-DD।
date_tostring ज़रूरीआख़िरी तारीख, YYYY-MM-DD।
unitstring वैकल्पिकB, KB, MB या GB। डिफ़ॉल्ट GB।
GET /residential/services/{svc_id}/subusers/{subuser_id}/usage-reportcurl -X GET "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/usage-report" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"tier": "premium",
"date_from": "2026-07-01",
"date_to": "2026-07-26",
"unit": "GB",
"total": 1.204,
"rows": [
{
"date": "2026-07-24",
"data": 0.61,
"requests": 8123
}
]
}सब-यूज़र प्रॉक्सी लिस्ट जनरेट करें
इस सब-यूज़र के लिए इस्तेमाल के लिए तैयार प्रॉक्सी स्ट्रिंग बनाता है — ठीक वही स्ट्रिंग जो आप अपने ग्राहक को देते हैं। इनका फ़ॉर्मैट सेवा-स्तर के जनरेटर से बाइट-दर-बाइट एक जैसा है, इसलिए आपका ग्राहक नहीं बता सकता कि इन्हें किस एंडपॉइंट ने बनाया।
पथ पैरामीटर
svc_idstring ज़रूरीरेजिडेंशियल सेवा ID, GET /residential/services से।
subuser_idstring ज़रूरीसब-यूज़र ID, जैसे rsub_42।
बॉडी पैरामीटर
countinteger वैकल्पिककितनी स्ट्रिंग जनरेट करनी हैं। 1–1000, डिफ़ॉल्ट 10।
protocolstring वैकल्पिक"http" (डिफ़ॉल्ट), "socks5" या "mix"। "mix" सिर्फ़ स्टैंडर्ड टियर पर है — एक ही पोर्ट HTTP और SOCKS5 दोनों का जवाब देता है; प्रीमियम पर इसे मांगने से 400 लौटता है।
formatstring वैकल्पिकआउटपुट लेआउट, जैसे hostname:port:username:password।
portinteger वैकल्पिकइस्तेमाल करने के लिए ख़ास गेटवे पोर्ट। यह उस प्रोटोकॉल के लिए प्रकाशित पोर्ट में से एक होना चाहिए — प्रीमियम 102 HTTP और 102 SOCKS5 पोर्ट स्वीकार करता है, स्टैंडर्ड 111 HTTP, 112 SOCKS5 और "mix" के लिए 5555। डिफ़ॉल्ट रूप से `session` के आधार पर टियर का रोटेटिंग या स्टिकी पोर्ट लिया जाता है ("mix" के लिए 5555)।
countrystring वैकल्पिकISO देश कोड, कॉमा से अलग किए हुए।
citystring वैकल्पिकटारगेट करने के लिए शहर। इसके लिए ठीक एक `country` ज़रूरी है — कॉमा से अलग किए गए कई देशों वाली वैल्यू होने पर शहर हटा दिया जाता है। दोनों टियर पर उपलब्ध; मान्य नाम `GET /residential/services/{svc_id}/access?country=US` से पता करें (प्रीमियम में स्टैंडर्ड से कहीं ज़्यादा शहर हैं)। स्पेस हटा दिए जाते हैं, इसलिए "Los angeles" `LosAngeles` के रूप में भेजा जाता है।
ispstring वैकल्पिकटारगेट करने के लिए ASN, जैसे Comcast के लिए `7922`। `city` की तरह इसके लिए भी ठीक एक `country` ज़रूरी है, और उसके साथ मिलाकर इससे दोनों तय किए जा सकते हैं (शिकागो में Comcast)। प्रीमियम AS नंबर या प्रदाता का नाम स्वीकार करता है; स्टैंडर्ड को AS नंबर चाहिए। ASN खोजने का कोई एंडपॉइंट नहीं है — AS नंबर आपको खुद देना होगा।
sessionstring वैकल्पिकrotating या sticky। डिफ़ॉल्ट rotating।
session_ttlstring वैकल्पिकस्टिकी सेशन की अवधि, जैसे 10m, 1h।
ipv4boolean वैकल्पिकसिर्फ़ स्टैंडर्ड टियर: सिर्फ़ IPv4 वाले पूल तक सीमित रखें। डिफ़ॉल्ट true।
streamingboolean वैकल्पिकसिर्फ़ प्रीमियम टियर: हाई-एंड स्ट्रीमिंग पूल इस्तेमाल करें। डिफ़ॉल्ट false।
directboolean वैकल्पिकसिर्फ़ प्रीमियम टियर: डायरेक्ट कनेक्शन मोड, IMAP जैसे उन प्रोटोकॉल के लिए जो डिफ़ॉल्ट रूट के साथ ठीक से काम नहीं करते। डिफ़ॉल्ट false।
skip_static_ispboolean वैकल्पिकसिर्फ़ प्रीमियम टियर: स्टैटिक ISP एग्ज़िट छोड़ दें। डिफ़ॉल्ट false।
hoststring वैकल्पिकDNS गेटवे होस्टनेम की जगह सीधा एंट्री IP दें। यह टियर के प्रकाशित एंट्री IP में से एक होना चाहिए, या टियर गेटवे का नाम; बाकी कुछ भी देने पर 400 लौटता है। ज़रूरत न हो तो इसे खाली छोड़ दें — गेटवे होस्टनेम जियो-रूटेड है, इसलिए IP तय करने से उस स्ट्रिंग का हर यूज़र एक ही क्षेत्र में पहुंचता है। उपलब्ध IP सब-यूज़र क्रेडेंशियल एंडपॉइंट से `entry_ips` के रूप में मिलते हैं।
POST /residential/services/{svc_id}/subusers/{subuser_id}/generate-proxy-listcurl -X POST "https://api.proxywing.com/v1/residential/services/{svc_id}/subusers/{subuser_id}/generate-proxy-list" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"count":3,"protocol":"http","session":"rotating","country":"US"}'{
"gateway": "premium.proxywing.com",
"port": 54321,
"protocol": "http",
"count": 3,
"proxies": [
"premium.proxywing.com:54321:uexxjq9gp4xn:MCCk99K80AtGEPY2_country-US"
]
}