プロキシAPIドキュメント: REST APIでプロキシリストを取得
Socks5Proxy APIはダッシュボードで作成したAPIキー1つでアカウント残高、購入した料金プラン、プロキシリストをJSONやtxt・csvで取得するREST APIで、基本アドレスはhttps://socks5proxy.io/api/v1、キー1つあたり分間300回まで呼び出せます。
APIで何ができますか?
プロキシを使用するプログラムが直接最新リストを取得する際にAPIを使用します。クローラー起動時に毎回リストを取得したり、料金プランを新規購入または期間終了時にサーバーが自動的にリストを変更するように設定できます。ダッシュボードでダウンロードするリストとAPIで取得するリストは同じデータです。
APIは読み取り専用です。残高確認、プランリスト、プロキシリストの取得をサポートし、支払いと購入はダッシュボードで行います。すべてのレスポンスはUTF-8で、日付はISO 8601 UTC形式です。
| メソッド | パス | 説明 |
|---|---|---|
| GET | /account | アカウントコード、残高(USD)、使用中のプラン数、プロキシ数 |
| GET | /plans | 購入したプランリスト(最新200件)、ステータスと有効期限 |
| GET | /proxies | 使用中のプロキシ一覧(JSON)、国・プランでフィルタ |
| GET | /proxies/download | プロキシリストをtxtまたはcsvの1行形式で |
APIキーはどのように作成して送信しますか?
ダッシュボードのAPIキー画面でキーを作成します。キーはspx_で始まる44文字で、作成時のみ一度表示されます。サーバーにはキーの指紋(ハッシュ)のみ残るため、紛失時は新規キーを作成可能です。新規キー作成時、以前のキーは即時無効化されます。
各リクエストでAuthorizationヘッダーにBearer方式でキーを設定してください。URLクエリにキーを設定する方式は受け付けません。キーがないか間違っている場合は401 unauthorizedで応答します。
curl -H "Authorization: Bearer spx_your_api_key" https://socks5proxy.io/api/v1/account残高とアカウント情報照会:GET /account
アカウントコード、残高、使用中のプラン数とプロキシ数を返します。残高は小数点以下2桁まで(USD)です。
curl -H "Authorization: Bearer spx_your_api_key" https://socks5proxy.io/api/v1/account{
"code": "S5-7KQ2-M8PX-4HDA",
"balance": "125.40",
"currency": "USD",
"active_plans": 2,
"proxies": 125,
"created_at": "2026-10-22T08:15:02.114Z"
}料金プラン一覧取得: GET /plans
購入したプランを最新のものから返します。statusはactive(使用中)、expired(期限切れ)、canceled(キャンセル)のいずれかです。idはプランコード(P-で始まる)で、/proxiesのplan値として使用できます。
{
"plans": [
{
"id": "P-8WQ4C-NM2KT",
"product": "dc-private",
"product_name": "Private Datacenter Proxy",
"ips": 100,
"months": 1,
"country": "us",
"status": "active",
"amount": "49.40",
"created_at": "2026-10-22T08:20:11.002Z",
"expires_at": "2026-11-22T08:20:11.002Z"
}
]
}プロキシリスト照会: GET /proxies
使用中のプランのプロキシをJSONで返します。各プロキシにはアドレス、HTTPポート、SOCKS5ポート、ユーザー名、パスワード、国、都市、プランコード、有効期限が含まれます。
country(2文字国コード、例: us)とplan(料金プランコード)でフィルタリングできます。protocol値は応答にそのまま表示され、JSONには両ポートが含まれています。
| クエリ | 値 | 説明 |
|---|---|---|
| country | us、de、jpなど | その国のプロキシのみ |
| plan | P-XXXXX-XXXXX | そのプランのプロキシのみ |
| protocol | http, socks5 | 基本http |
| format | json | デフォルト、他の形式は/proxies/download |
curl -H "Authorization: Bearer spx_your_api_key" \
"https://socks5proxy.io/api/v1/proxies?country=us&protocol=socks5"{
"count": 1,
"protocol": "socks5",
"proxies": [
{
"host": "198.51.100.23",
"http_port": 8231,
"socks5_port": 1080,
"username": "spx_k2m8qa",
"password": "q7rbx2wd9n",
"country": "us",
"city": "New York",
"plan": "P-8WQ4C-NM2KT",
"product": "dc-private",
"product_name": "Private Datacenter Proxy",
"expires_at": "2026-11-22T08:20:11.002Z"
}
]
}リストダウンロード: GET /proxies/download
プログラムが直接読み取れるように、1行に1つのプロキシを文字列で返します。protocolがsocks5の場合はSOCKS5ポートを、httpの場合はHTTPポートを含めます。format=urlはprotocolに応じたアドレスの接頭辞(socks5://またはhttp://)を追加します。
IP認証を有効にしたサーバーではip:port形式で受け取り、ユーザー名なしで直接接続できます。csvは1行目に列名があり、両ポートを含みます。
| format | 1行の例 (protocol=socks5) |
|---|---|
| ip:port:user:pass (基本) | 198.51.100.23:1080:spx_k2m8qa:q7rbx2wd9n |
| user:pass@ip:port | spx_k2m8qa:q7rbx2wd9n@198.51.100.23:1080 |
| ip:port | 198.51.100.23:1080 |
| url | socks5://spx_k2m8qa:q7rbx2wd9n@198.51.100.23:1080 |
| csv | 198.51.100.23,8231,1080,spx_k2m8qa,q7rbx2wd9n,us,ニューヨーク |
curl -H "Authorization: Bearer spx_your_api_key" \
"https://socks5proxy.io/api/v1/proxies/download?format=url&protocol=socks5" -o proxies.txtコード例: Python, Node.js, PHP
以下の例はリストを取得し、最初のプロキシでリクエストを送信します。PythonでSOCKS5を使用するにはrequests[socks]パッケージが必要で、socks5hを使用するとドメイン名解決もプロキシ側で行います。
import requests
API = "https://socks5proxy.io/api/v1"
H = {"Authorization": "Bearer spx_your_api_key"}
proxies = requests.get(f"{API}/proxies", headers=H, params={"country": "us"}).json()["proxies"]
p = proxies[0]
url = f"socks5h://{p['username']}:{p['password']}@{p['host']}:{p['socks5_port']}"
r = requests.get("https://api.ipify.org?format=json", proxies={"http": url, "https": url}, timeout=30)
print(r.json())import { ProxyAgent, fetch } from "undici";
const API = "https://socks5proxy.io/api/v1";
const H = { Authorization: "Bearer spx_your_api_key" };
const { proxies } = await (await fetch(`${API}/proxies?country=us`, { headers: H })).json();
const p = proxies[0];
const agent = new ProxyAgent(`http://${p.username}:${p.password}@${p.host}:${p.http_port}`);
const r = await fetch("https://api.ipify.org?format=json", { dispatcher: agent });
console.log(await r.json());<?php
$ch = curl_init("https://socks5proxy.io/api/v1/proxies/download?format=ip:port:user:pass&protocol=http");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer spx_your_api_key"],
CURLOPT_RETURNTRANSFER => true,
]);
$lines = explode("\n", trim(curl_exec($ch)));
[$host, $port, $user, $pass] = explode(":", $lines[0]);
echo "$host:$port\n";エラーコードと呼び出し制限
エラーはHTTPステータスコードと共に{ "error": { "code", "message" } }形式で返されます。1キーあたり毎分300回まで呼び出せ、超えると1分間429で応答します。リストは購入または期限切れ時のみ変更されるため、数分に1回取得してプログラム内で再利用する方式をおすすめします。
API呼び出しには料金がかかりません。残高から引かれるのはダッシュボードでプランを購入するときだけです。
| ステータス | code | 意味 |
|---|---|---|
| 401 | unauthorized | キーがないか間違っている、新しいキーを作成した場合は新しいキーで |
| 400 | bad_format | format値がリストにありません |
| 404 | not_found | 存在しないパス |
| 429 | rate_limited | 1分あたり300回を超える |