套餐统计
按时间段查询代理套餐的流量使用历史。
GET /packages/:id/stats
返回所选时间段内按天划分的流量和请求计数。适用于构建使用量仪表盘或在流量低时触发警报。
GET
/api/v1/packages/{id}/stats查询参数
| 参数 | 默认 | 选项 |
|---|---|---|
period | 30d | 7d · 30d · 90d · 1y · day · week · month · 3months · 6months · year |
aggregate | day | minute · hour · day. 历史序列的桶大小。minute 仅在 period=7d 或 day 时允许。 |
stats-request.sh
curl "https://raxyproxy.com/api/v1/packages/12/stats?period=7d" \
-H "Authorization: Bearer raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"stats-response.json
{
"data": {
"package_id": 12,
"period": "7d",
"aggregate": "day",
"quota_gb": 10.0,
"used_gb": 3.2140,
"available_gb": 6.7860,
"usage_pct": 32.14,
"history": [
{ "datetime": "2026-05-09", "traffic_gb": 0.512100, "requests": 4820 },
{ "datetime": "2026-05-10", "traffic_gb": 0.480300, "requests": 4612 },
{ "datetime": "2026-05-11", "traffic_gb": 0.631200, "requests": 5901 },
{ "datetime": "2026-05-12", "traffic_gb": 0.390000, "requests": 3741 },
{ "datetime": "2026-05-13", "traffic_gb": 0.520000, "requests": 4900 },
{ "datetime": "2026-05-14", "traffic_gb": 0.441200, "requests": 4210 },
{ "datetime": "2026-05-15", "traffic_gb": 0.239188, "requests": 2390 }
]
},
"meta": { "version": "v1" }
}With aggregate=hour or aggregate=minute the datetime values include time-of-day, for example 2026-05-15T14:00:00+00:00.
响应字段
| 字段 | 类型 | 描述 |
|---|---|---|
package_id | integer | 此数据所属的套餐 |
period | string | 请求的时间段(回显) |
quota_gb | float | 购买的总流量 |
used_gb | float | 累计消耗的流量 |
available_gb | float | 剩余流量 |
usage_pct | float | 消耗百分比 |
aggregate | string | minute · hour · day |
history[].datetime | string | 日历日期 |
history[].traffic_gb | float | 当天使用的流量(GB) |
history[].requests | integer | 该桶内的代理请求数 |
相关端点
按主机划分的流量分布(前 N 个目的地)可见: /api/v1/packages/{id}/stats/hosts.
近期错误事件(4xx/5xx/超时)可见: /api/v1/packages/{id}/stats/errors.
代码示例
stats.py
import requests
API_KEY = 'raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
PACKAGE_ID = 12
resp = requests.get(
f'https://raxyproxy.com/api/v1/packages/{PACKAGE_ID}/stats',
params={'period': '30d'},
headers={'Authorization': f'Bearer {API_KEY}'},
timeout=10,
).json()
data = resp['data']
print(f"Used {data['used_gb']} / {data['quota_gb']} GB ({data['usage_pct']}%)")
for bucket in data['history']:
print(f" {bucket['datetime']}: {bucket['traffic_gb']:.4f} GB {bucket['requests']} requests")stats.mjs
const API_KEY = 'raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
const PACKAGE_ID = 12;
const url = `https://raxyproxy.com/api/v1/packages/${PACKAGE_ID}/stats?period=30d`;
const resp = await fetch(url, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data } = await resp.json();
console.log(`Used ${data.used_gb} / ${data.quota_gb} GB (${data.usage_pct}%)`);
for (const day of data.history) {
console.log(` ${day.datetime}: ${day.traffic_gb.toFixed(4)} GB ${day.requests} requests`);
}