নতুন? এই ধাপগুলো মানুন
- 1ইমেইল ও পাসওয়ার্ড দিয়ে, অথবা টোকেন দিয়ে সাইন আপ করে ড্যাশবোর্ড খুলুন।
- 2Connect ট্যাবে একটি API কী ইস্যু করুন। পুরো কী শুধু একবার, ইস্যু করার মুহূর্তে দেখা যায়, তাই তখনই সেভ করুন।
- 3যেসব রিকোয়েস্টে কী দরকার, প্রতিটির Authorization হেডারে কী বসান।
- 4কী গ্রহণ হচ্ছে কি না দেখতে আগে /account কল করুন, তারপর /orders দিয়ে অর্ডার দিন।
অথেন্টিকেশন কীভাবে কাজ করে?
যেসব রিকোয়েস্ট আপনার নিজের অ্যাকাউন্টে কাজ করে (account, orders, proxy-user), সেগুলোতে API কী লাগে। হেডারে পাঠান এভাবে: Authorization: Bearer pwk_... দাম, দেশ ও দামের হিসাব সবার জন্য খোলা, কী ছাড়াই কল করা যায়।
ProxyWorld সার্ভারে কী নিজে কখনো রাখা হয় না, শুধু তার হ্যাশ রাখা হয়। কী হারালে ড্যাশবোর্ডে নতুন একটি তৈরি করুন, পুরোনোটি সাথে সাথে বন্ধ হয়ে যাবে। কী শুধু সার্ভার সাইডের কোডে রাখুন। কী যদি ব্রাউজারে চলা কোডে বা পাবলিক রিপোজিটরিতে চলে যায়, অন্য কেউ সেটি ব্যবহার করতে পারে।
Authorization: Bearer pwk_your_api_key
বেস URL ও ডেটার ফরম্যাট
- বেস URL
- https://proxyworld.shop/api/v1
- রিকোয়েস্ট ও রেসপন্সের বডি
- application/json
- টাকার পরিমাণ
- USD সংখ্যা হিসেবে, যেমন 1058.50
- টাইমস্ট্যাম্প
- ISO 8601 (UTC)
কতবার কল করা যায়?
প্রতিটি API কী দিয়ে মিনিটে 60টি কল করা যায়। কী ছাড়া পাবলিক এন্ডপয়েন্টে প্রতিটি IP থেকে মিনিটে 60টি কল করা যায়। এর বেশি হলে HTTP 429 পাবেন। প্রায় এক মিনিট অপেক্ষা করে আবার চেষ্টা করুন।
কোনো কিছু ব্যর্থ হলে কী ফেরত আসে?
আপনি একটি HTTP স্ট্যাটাস কোড আর একটি JSON বডি পাবেন, যাতে ছোট একটি এরর কোড ও ব্যাখ্যা থাকে।
{
"error": {
"code": "insufficient_balance",
"message": "Your balance is too low for this order. Top up in the dashboard."
}
}| HTTP | code | অর্থ |
|---|---|---|
| bad_requestHTTP 400একটি দরকারি মান নেই, অথবা এমন মান পাঠানো হয়েছে যা এই প্রোডাক্ট গ্রহণ করে না। | একটি দরকারি মান নেই, অথবা এমন মান পাঠানো হয়েছে যা এই প্রোডাক্ট গ্রহণ করে না। | |
| unauthorizedHTTP 401API কী নেই অথবা কীটি বৈধ নয়। | API কী নেই অথবা কীটি বৈধ নয়। | |
| insufficient_balanceHTTP 402আপনার ব্যালান্স অর্ডারের মোটের চেয়ে কম। ব্যালান্স থেকে কোনো টাকা কাটা হয়নি। | আপনার ব্যালান্স অর্ডারের মোটের চেয়ে কম। ব্যালান্স থেকে কোনো টাকা কাটা হয়নি। | |
| not_foundHTTP 404আপনার অ্যাকাউন্টে এই নম্বরের কোনো অর্ডার নেই। | আপনার অ্যাকাউন্টে এই নম্বরের কোনো অর্ডার নেই। | |
| rate_limitedHTTP 429মিনিটে অনুমোদিত কলের সংখ্যা ছাড়িয়ে গেছেন। | মিনিটে অনুমোদিত কলের সংখ্যা ছাড়িয়ে গেছেন। | |
| server_errorHTTP 500সার্ভার রিকোয়েস্টটি শেষ করতে পারেনি। ব্যালান্স থেকে কোনো টাকা কাটা হয়নি। | সার্ভার রিকোয়েস্টটি শেষ করতে পারেনি। ব্যালান্স থেকে কোনো টাকা কাটা হয়নি। |
এন্ডপয়েন্ট
আপনার অ্যাকাউন্ট দেখুন
GET/api/v1/accountAPI কী লাগবে
আপনি কীভাবে লগ ইন করেন (login: email বা token), আপনার ইমেইল, ব্যালান্স, প্রক্সি হোস্ট ও পোর্ট, প্রক্সি ইউজারনেম ও পাসওয়ার্ড, আর অনুমোদিত IP ফেরত দেয়। টোকেন দিয়ে খোলা অ্যাকাউন্টে email হয় null।
curl https://proxyworld.shop/api/v1/account \ -H "Authorization: Bearer pwk_your_api_key"
{
"login": "email",
"email": "you@example.com",
"balance_usd": 1300,
"proxy": {
"host": "gate.proxyworld.shop",
"http_port": 6100,
"socks5_port": 6200,
"username": "pwexample1",
"password": "your_password"
},
"allowed_ips": [
"203.0.113.10"
]
}প্রোডাক্ট ও দাম দেখুন
GET/api/v1/productsকী ছাড়াই চলে
প্রতিটি প্রোডাক্টের অর্ডারের সীমা, প্রতিটি পরিমাণ ধাপের ইউনিট দাম আর মেয়াদের ছাড় ফেরত দেয়। মূল্য পেজের একই দামের টেবিল ব্যবহার করে।
curl https://proxyworld.shop/api/v1/products
{
"currency": "USD",
"prices_as_of": "2026-10-31",
"products": [
{
"id": "unlimited",
"unit": "day",
"quantity": {
"meaning": "days",
"min": 1,
"max": 365
},
"...": "..."
},
{
"id": "residential",
"unit": "gb",
"...": "..."
}
]
}দেশ ও শহর
GET/api/v1/countriesকী ছাড়াই চলে
প্রতিটি প্রোডাক্টে কোন দেশ বাছাই করা যায় তা ফেরত দেয়, সাথে -city- ইউজারনেম অপশনে ব্যবহারের শহরের মান।
| নাম | ধরন | অর্থ |
|---|---|---|
productঐচ্ছিক | string | unlimited, residential, isp, datacenter-এর একটি। না দিলে residential ধরা হয়। |
curl "https://proxyworld.shop/api/v1/countries?product=datacenter"
{
"product": "datacenter",
"countries": [
{
"code": "us",
"name": "United States",
"region": "americas",
"datacenter": true,
"cities": [
{
"name": "New York",
"value": "new_york"
},
{
"name": "Los Angeles",
"value": "los_angeles"
}
]
}
]
}দামের হিসাব নিন
POST/api/v1/quoteকী ছাড়াই চলে
ব্যালান্সে হাত না দিয়ে অর্ডারের মোট হিসাব করে। অর্ডার দিতে যে বডি পাঠাতেন, সেটিই পাঠান।
| নাম | ধরন | অর্থ |
|---|---|---|
productআবশ্যিক | string | unlimited, residential, isp, datacenter-এর একটি। |
quantityআবশ্যিক | integer | কত পরিমাণ অর্ডার করবেন: unlimited-এ দিন (1~365), residential-এ GB (5~5,000), isp-এ IP-র সংখ্যা (1~1,000) বা datacenter-এ (5~5,000)। |
concurrencyঐচ্ছিক | integer | শুধু unlimited-এ। 200, 500, 1000, 2000-এর একটি বেছে নিন। |
bandwidthঐচ্ছিক | integer | শুধু unlimited-এ, Mbps-এ। 100, 200, 500, 1000-এর একটি। |
monthsঐচ্ছিক | integer | শুধু isp ও datacenter-এ। 1, 3, 6, 12-এর একটি। |
countryঐচ্ছিক | string | শুধু isp ও datacenter-এ। দুই অক্ষরের দেশের কোড, যেমন jp। গ্রহণযোগ্য মানগুলো /countries-এ দেওয়া আছে। |
curl -X POST https://proxyworld.shop/api/v1/quote \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"product": "unlimited",
"quantity": 30,
"unit_price_usd": 8.05,
"unit": "day",
"total_usd": 241.5
}অর্ডার দিন
POST/api/v1/ordersAPI কী লাগবে
ব্যালান্স থেকে মোট টাকা কেটে অর্ডার তৈরি করে। শুরুতে এটি pending (চালু হচ্ছে) থাকে, প্রস্তুত হলে active হয়। যে অর্ডার চালু করা যায় না সেটি refunded হয়, আর আপনার পরিশোধ করা সব টাকা ব্যালান্সে ফিরে যায়। ব্যালান্স কম থাকলে 402 পাবেন।
| নাম | ধরন | অর্থ |
|---|---|---|
productআবশ্যিক | string | unlimited, residential, isp, datacenter-এর একটি। |
quantityআবশ্যিক | integer | কত পরিমাণ অর্ডার করবেন: unlimited-এ দিন (1~365), residential-এ GB (5~5,000), isp-এ IP-র সংখ্যা (1~1,000) বা datacenter-এ (5~5,000)। |
concurrencyঐচ্ছিক | integer | শুধু unlimited-এ। 200, 500, 1000, 2000-এর একটি বেছে নিন। |
bandwidthঐচ্ছিক | integer | শুধু unlimited-এ, Mbps-এ। 100, 200, 500, 1000-এর একটি। |
monthsঐচ্ছিক | integer | শুধু isp ও datacenter-এ। 1, 3, 6, 12-এর একটি। |
countryঐচ্ছিক | string | শুধু isp ও datacenter-এ। দুই অক্ষরের দেশের কোড, যেমন jp। গ্রহণযোগ্য মানগুলো /countries-এ দেওয়া আছে। |
curl -X POST https://proxyworld.shop/api/v1/orders \
-H "Authorization: Bearer pwk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'{
"order": {
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
},
"balance_usd": 1058.5
}আপনার অর্ডার দেখুন
GET/api/v1/ordersAPI কী লাগবে
সবচেয়ে নতুনটি থেকে শুরু করে সর্বোচ্চ 100টি অর্ডার দেখায়।
| নাম | ধরন | অর্থ |
|---|---|---|
statusঐচ্ছিক | string | pending, active, refunded-এর একটি। না দিলে যেকোনো অবস্থার অর্ডার পাবেন। |
curl "https://proxyworld.shop/api/v1/orders?status=pending" \ -H "Authorization: Bearer pwk_your_api_key"
{
"orders": [
{
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "pending",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:12:44.120Z"
}
]
}একটি অর্ডার দেখুন
GET/api/v1/orders/{id}API কী লাগবে
অর্ডার নম্বরের সাথে মেলে এমন অর্ডার ফেরত দেয়। চালু হওয়া শেষ হয়েছে কি না দেখতে কাজে লাগে।
| নাম | ধরন | অর্থ |
|---|---|---|
idআবশ্যিক | string | অর্ডার নম্বর, যেমন PW-7KQ2M-X4HTD। |
curl https://proxyworld.shop/api/v1/orders/PW-7KQ2M-X4HTD \ -H "Authorization: Bearer pwk_your_api_key"
{
"order": {
"id": "PW-7KQ2M-X4HTD",
"product": "unlimited",
"quantity": 30,
"months": null,
"concurrency": 1000,
"bandwidth_mbps": 200,
"country": null,
"unit_price_usd": 8.05,
"total_usd": 241.5,
"status": "active",
"created_at": "2026-10-31T09:12:44.120Z",
"updated_at": "2026-10-31T09:40:02.511Z"
}
}প্রক্সি ইউজারনেম তৈরি করুন
GET/api/v1/proxy-userAPI কী লাগবে
আপনার অপশন যুক্ত একটি প্রক্সি ইউজারনেম ফেরত দেয়, সাথে HTTP ও SOCKS5 URL যা হুবহু পেস্ট করা যায়। session না পাঠালে প্রতিটি রিকোয়েস্টে IP বদলায়।
| নাম | ধরন | অর্থ |
|---|---|---|
productঐচ্ছিক | string | unlimited, residential, isp, datacenter-এর একটি। না দিলে unlimited ধরা হয়। |
countryঐচ্ছিক | string | দুই অক্ষরের দেশের কোড, যেমন jp। |
cityঐচ্ছিক | string | /countries-এ দেওয়া একটি শহরের মান, যেমন tokyo। এর সাথে country-ও পাঠান। |
sessionঐচ্ছিক | string | 1~32টি অক্ষর ও সংখ্যা। একই session-এর রিকোয়েস্ট একই IP ব্যবহার করে। |
ttlঐচ্ছিক | integer | সেশন কতক্ষণ IP ধরে রাখবে, 1~60 মিনিট। না দিলে 30 মিনিট। |
curl "https://proxyworld.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \ -H "Authorization: Bearer pwk_your_api_key"
{
"username": "pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
"password": "your_password",
"http": "http://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6100",
"socks5": "socks5h://pwexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.proxyworld.shop:6200"
}শুরু থেকে শেষ পর্যন্ত উদাহরণ
একটি স্ক্রিপ্ট, যা দামের হিসাব নেয়, ব্যালান্স থেকে অর্ডার করে, তারপর জাপানের একটি IP দিয়ে সংযোগ করে।
import requests
API = "https://proxyworld.shop/api/v1"
HEAD = {"Authorization": "Bearer pwk_your_api_key"}
# 1) Check the price first
plan = {"product": "residential", "quantity": 100}
print(requests.post(f"{API}/quote", json=plan).json())
# 2) Order from your balance
r = requests.post(f"{API}/orders", json=plan, headers=HEAD)
order = r.json()["order"]
print(order["id"], order["status"])
# 3) Get a username for Japanese IPs
u = requests.get(f"{API}/proxy-user", headers=HEAD,
params={"product": "residential", "country": "jp"}).json()
proxies = {"http": u["http"], "https": u["http"]}
print(requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30).json())const API = "https://proxyworld.shop/api/v1";
const HEAD = { Authorization: "Bearer pwk_your_api_key", "Content-Type": "application/json" };
// Check the balance
const acc = await fetch(`${API}/account`, { headers: HEAD }).then((r) => r.json());
console.log(acc.balance_usd);
// Order 7 days of unlimited
const res = await fetch(`${API}/orders`, {
method: "POST",
headers: HEAD,
body: JSON.stringify({ product: "unlimited", quantity: 7, concurrency: 500, bandwidth: 100 }),
});
if (res.status === 402) console.log("Top up first");
else console.log((await res.json()).order.id);API দিয়ে দেওয়া অর্ডার ড্যাশবোর্ডের অর্ডারের মতোই সামলানো হয় এবং বাকিগুলোর সাথে ইতিহাস ট্যাবে দেখা যায়। উদাহরণের pwk_your_api_key-এর জায়গায় আপনার নিজের API কী বসান।