Chuyển đến nội dung
starproxy
Bắt đầu

StarProxy API

Hầu hết chức năng của bảng điều khiển đều dùng được bằng code. Xem số dư, tra giá, đặt hàng từ số dư và lấy tên người dùng proxy kèm tùy chọn, tất cả qua một REST API.

Bắt đầu từ đâu?

  1. 1Đăng ký bằng tên đăng nhập và đăng nhập vào bảng điều khiển.
  2. 2Tạo khóa API ở tab Kết nối. Khóa đầy đủ chỉ hiện một lần, lúc bạn tạo, nên hãy cất ở nơi an toàn ngay.
  3. 3Gửi khóa trong header Authorization với mọi yêu cầu cần đến nó.
  4. 4Gọi /account trước để kiểm tra khóa hoạt động, sau đó đặt hàng bằng /orders.

Xác thực

Các yêu cầu về tài khoản của bạn (account, orders, proxy-user) cần khóa API, gửi trong header dạng Authorization: Bearer spk_... Giá, quốc gia và báo giá là công khai và dùng được không cần khóa.

StarProxy chỉ lưu hash của mỗi khóa, không lưu khóa. Nếu mất khóa, hãy tạo khóa mới trong bảng điều khiển. Khóa cũ ngừng hoạt động ngay lúc đó. Chỉ để khóa trong code phía máy chủ. Không bao giờ đặt khóa trong code chạy trên trình duyệt hoặc trong repository công khai.

HTTP header
Authorization: Bearer spk_your_api_key

Base URL và định dạng dữ liệu

Base URL
https://starproxy.shop/api/v1
Nội dung yêu cầu và phản hồi
application/json
Số tiền
USD dạng số, ví dụ 1047.70
Thời gian
ISO 8601 (UTC)

Có giới hạn tần suất gọi không?

Một khóa API được gọi tối đa 60 lần mỗi phút. Endpoint công khai không cần khóa cho phép 60 lần mỗi phút cho mỗi IP. Vượt giới hạn sẽ nhận HTTP 429, hãy chờ một phút rồi gửi lại.

Lỗi trông như thế nào?

Một mã trạng thái HTTP, kèm nội dung JSON gồm mã lỗi ngắn và thông báo.

Ví dụ
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is too low for this order. Top up in the dashboard."
  }
}
code
bad_requestHTTP 400Thiếu một giá trị bắt buộc, hoặc giá trị không hợp lệ với sản phẩm này.
unauthorizedHTTP 401Thiếu khóa API hoặc khóa không khớp.
insufficient_balanceHTTP 402Số dư thấp hơn tổng đơn hàng. Không có khoản nào bị trừ.
not_foundHTTP 404Tài khoản của bạn không có đơn hàng với id này.
rate_limitedHTTP 429Quá nhiều yêu cầu trong một phút.
server_errorHTTP 500Máy chủ không hoàn tất được yêu cầu. Không có khoản nào bị trừ.

Endpoint

Lấy thông tin tài khoản

GET/api/v1/accountCần khóa API

Trả về số dư, host và cổng proxy, tên người dùng và mật khẩu proxy, và các IP được cho phép.

Yêu cầu
curl https://starproxy.shop/api/v1/account \
  -H "Authorization: Bearer spk_your_api_key"
Phản hồi
{
  "username": "star_user01",
  "balance_usd": 1300,
  "proxy": {
    "host": "gate.starproxy.shop",
    "http_port": 6100,
    "socks5_port": 6200,
    "username": "spexample1",
    "password": "your_password"
  },
  "allowed_ips": [
    "203.0.113.10"
  ]
}

Lấy sản phẩm và giá

GET/api/v1/productsKhông cần khóa

Trả về phạm vi đặt hàng, giá theo từng mức số lượng và giảm giá theo thời hạn của mỗi sản phẩm, từ cùng bảng giá với trang bảng giá.

Yêu cầu
curl https://starproxy.shop/api/v1/products
Phản hồi
{
  "currency": "USD",
  "prices_as_of": "2026-10-31",
  "products": [
    {
      "id": "unlimited",
      "unit": "day",
      "quantity": {
        "meaning": "days",
        "min": 1,
        "max": 365
      },
      "...": "..."
    },
    {
      "id": "residential",
      "unit": "gb",
      "...": "..."
    }
  ]
}

Danh sách quốc gia và thành phố

GET/api/v1/countriesKhông cần khóa

Trả về các quốc gia mỗi sản phẩm hỗ trợ, kèm giá trị thành phố cho tùy chọn -city- của tên người dùng.

TrườngÝ nghĩa
productKhông bắt buộcMột trong unlimited, residential, isp, datacenter. Mặc định là residential.
Yêu cầu
curl "https://starproxy.shop/api/v1/countries?product=datacenter"
Phản hồi
{
  "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"
        }
      ]
    }
  ]
}

Lấy báo giá

POST/api/v1/quoteKhông cần khóa

Tính tổng đơn hàng và không đụng đến số dư. Gửi đúng nội dung bạn sẽ dùng khi đặt hàng.

TrườngÝ nghĩa
productBắt buộcMột trong unlimited, residential, isp, datacenter.
quantityBắt buộcSố ngày cho unlimited (1~365), GB cho residential (5~5,000), số IP cho isp (1~1,000) hoặc datacenter (5~5,000).
concurrencyKhông bắt buộcChỉ cho unlimited. Một trong 200, 500, 1000, 2000.
bandwidthKhông bắt buộcChỉ cho unlimited, tính bằng Mbps. Một trong 100, 200, 500, 1000.
monthsKhông bắt buộcChỉ cho isp và datacenter. Một trong 1, 3, 6, 12.
countryKhông bắt buộcChỉ cho isp và datacenter. Mã quốc gia hai chữ cái, ví dụ jp. Xem /countries để biết giá trị hợp lệ.
Yêu cầu
curl -X POST https://starproxy.shop/api/v1/quote \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Phản hồi
{
  "product": "unlimited",
  "quantity": 30,
  "unit_price_usd": 8.41,
  "unit": "day",
  "total_usd": 252.3
}

Tạo đơn hàng

POST/api/v1/ordersCần khóa API

Trừ tổng tiền từ số dư và tạo đơn hàng. Trạng thái bắt đầu là pending (đang kích hoạt) và chuyển sang active khi đơn sẵn sàng. Nếu không kích hoạt được, đơn thành refunded và toàn bộ số tiền về lại số dư. Số dư không đủ sẽ trả về 402.

TrườngÝ nghĩa
productBắt buộcMột trong unlimited, residential, isp, datacenter.
quantityBắt buộcSố ngày cho unlimited (1~365), GB cho residential (5~5,000), số IP cho isp (1~1,000) hoặc datacenter (5~5,000).
concurrencyKhông bắt buộcChỉ cho unlimited. Một trong 200, 500, 1000, 2000.
bandwidthKhông bắt buộcChỉ cho unlimited, tính bằng Mbps. Một trong 100, 200, 500, 1000.
monthsKhông bắt buộcChỉ cho isp và datacenter. Một trong 1, 3, 6, 12.
countryKhông bắt buộcChỉ cho isp và datacenter. Mã quốc gia hai chữ cái, ví dụ jp. Xem /countries để biết giá trị hợp lệ.
Yêu cầu
curl -X POST https://starproxy.shop/api/v1/orders \
  -H "Authorization: Bearer spk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"product":"unlimited","quantity":30,"concurrency":1000,"bandwidth":200}'
Phản hồi
{
  "order": {
    "id": "SP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.41,
    "total_usd": 252.3,
    "status": "pending",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:12:44.120Z"
  },
  "balance_usd": 1047.7
}

Danh sách đơn hàng

GET/api/v1/ordersCần khóa API

Trả về tối đa 100 đơn hàng, mới nhất trước.

TrườngÝ nghĩa
statusKhông bắt buộcMột trong pending, active, refunded. Để trống để lấy mọi trạng thái.
Yêu cầu
curl "https://starproxy.shop/api/v1/orders?status=pending" \
  -H "Authorization: Bearer spk_your_api_key"
Phản hồi
{
  "orders": [
    {
      "id": "SP-7KQ2M-X4HTD",
      "product": "unlimited",
      "quantity": 30,
      "months": null,
      "concurrency": 1000,
      "bandwidth_mbps": 200,
      "country": null,
      "unit_price_usd": 8.41,
      "total_usd": 252.3,
      "status": "pending",
      "created_at": "2026-10-31T09:12:44.120Z",
      "updated_at": "2026-10-31T09:12:44.120Z"
    }
  ]
}

Lấy một đơn hàng

GET/api/v1/orders/{id}Cần khóa API

Trả về một đơn hàng theo id. Dùng để xem đã kích hoạt xong chưa.

TrườngÝ nghĩa
idBắt buộcId đơn hàng, ví dụ SP-7KQ2M-X4HTD.
Yêu cầu
curl https://starproxy.shop/api/v1/orders/SP-7KQ2M-X4HTD \
  -H "Authorization: Bearer spk_your_api_key"
Phản hồi
{
  "order": {
    "id": "SP-7KQ2M-X4HTD",
    "product": "unlimited",
    "quantity": 30,
    "months": null,
    "concurrency": 1000,
    "bandwidth_mbps": 200,
    "country": null,
    "unit_price_usd": 8.41,
    "total_usd": 252.3,
    "status": "active",
    "created_at": "2026-10-31T09:12:44.120Z",
    "updated_at": "2026-10-31T09:40:02.511Z"
  }
}

Tạo tên người dùng proxy

GET/api/v1/proxy-userCần khóa API

Trả về tên người dùng proxy đã gắn sẵn tùy chọn của bạn, kèm URL HTTP và SOCKS5 sẵn để dán. Không có session thì mỗi yêu cầu nhận một IP mới.

TrườngÝ nghĩa
productKhông bắt buộcMột trong unlimited, residential, isp, datacenter. Mặc định là unlimited.
countryKhông bắt buộcMã quốc gia hai chữ cái, ví dụ jp.
cityKhông bắt buộcGiá trị thành phố trong /countries, ví dụ tokyo. Cần gửi kèm country.
sessionKhông bắt buộc1~32 chữ cái hoặc chữ số. Các yêu cầu cùng session dùng chung một IP.
ttlKhông bắt buộcSố phút giữ IP của phiên, 1~60. Mặc định là 30.
Yêu cầu
curl "https://starproxy.shop/api/v1/proxy-user?product=residential&country=jp&city=tokyo&session=job42&ttl=30" \
  -H "Authorization: Bearer spk_your_api_key"
Phản hồi
{
  "username": "spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30",
  "password": "your_password",
  "http": "http://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6100",
  "socks5": "socks5h://spexample1-zone-res-cc-jp-city-tokyo-sid-job42-ttl-30:your_password@gate.starproxy.shop:6200"
}

Ví dụ đầy đủ

Một script lấy báo giá, đặt hàng từ số dư và kết nối qua IP Nhật Bản.

Python (requests)
import requests

API = "https://starproxy.shop/api/v1"
HEAD = {"Authorization": "Bearer spk_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())
Node.js 18+
const API = "https://starproxy.shop/api/v1";
const HEAD = { Authorization: "Bearer spk_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);

Đơn đặt qua API được xử lý giống đơn trong bảng điều khiển và hiện ở tab Lịch sử. Thay spk_your_api_key trong ví dụ bằng khóa của bạn.

Dùng StarProxy trực tiếp từ code của bạn

Đăng ký bằng tên đăng nhập, tạo khóa API trong bảng điều khiển và bắt đầu gọi API.