VRAMGlass API
用 HTTP 请求拿显卡、AI 工作站和内存的实时价格、价格走势,以及哪些开源大模型能在哪些硬件上跑。数据和 MCP 服务器完全一样,用同一把 API 密钥。
基础地址
https://api.vramglass.com/v1认证
在个人主页 › API 与 MCP 生成 API 密钥,放在请求头里:
curl
curl "https://api.vramglass.com/v1/prices/rtx-3090?market=xianyu" \ -H "Authorization: Bearer 你的密钥"
密钥只放在服务器或自己电脑上,不要写进网页前端代码。接口不支持浏览器跨域调用。
额度与限速
每个请求算 1 次,和 MCP 工具调用共用一个额度,每天 UTC 零点(北京时间 08:00)重置。 看套餐
| 免费 | Pro | |
|---|---|---|
| 每天 | 50 次 | 2,000 次 |
| 每分钟 | 20 次 | 120 次 |
成功的响应和额度用完的 429 带 X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset(每日额度、剩余次数、重置时刻);429 和 503 还带 Retry-After(秒)。
端点一览
全部是 GET,返回 JSON。机器可读的接口描述:/v1/openapi.json
| 端点 | 用途 |
|---|---|
/v1/hardware?q=3090 | 搜显卡、工作站、内存,拿 id |
/v1/prices/{id} | 现价(中位价、区间、挂单数、24 小时涨跌) |
/v1/prices?ids=rtx-3090,rtx-4090 | 一次查最多 10 个的现价 |
/v1/prices/{id}/history | 每日价格走势(7 / 30 / 90 / 365 天) |
/v1/price-index | 显卡价格指数 |
/v1/models?q=qwen | 搜开源模型,拿 id |
/v1/gpus/{id}/models | 这张卡能跑哪些模型 |
/v1/models/{family}/{version}/gpus | 跑这个模型要多大显存、买哪张卡 |
/v1/builds/{family}/{version} | 跑大模型的整机配置 |
/v1/rent/{id} | 云上租卡的时价 |
/v1/deals/{id} | 显卡页上的 eBay 好价精选 |
/v1/strata | Strata 实测速度 |
/v1/usage | 今天用了多少次(不计次) |
例子:查现价
GET /v1/prices/{id},参数 market:ebay、xianyu、amazon_jp,可写多个,用逗号隔开;不写就全部返回。
curl
curl "https://api.vramglass.com/v1/prices/rtx-3090?market=xianyu&lang=zh" \ -H "Authorization: Bearer $VRAMGLASS_KEY"
Python
import os, requests
r = requests.get(
"https://api.vramglass.com/v1/prices/rtx-3090",
params={"market": "xianyu", "lang": "zh"},
headers={"Authorization": f"Bearer {os.environ['VRAMGLASS_KEY']}"},
timeout=20,
)
r.raise_for_status()
print(r.json()["items"][0]["quotes"][0]["median"])JavaScript
const res = await fetch("https://api.vramglass.com/v1/prices/rtx-3090?market=xianyu&lang=zh", {
headers: { Authorization: `Bearer ${process.env.VRAMGLASS_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error.code);
const data = await res.json();
console.log(data.items[0].quotes[0].median);200 OK
{
"as_of": "2026-11-13T06:05:00Z",
"items": [{
"id": "rtx-3090",
"name": "GeForce RTX 3090",
"memory_gb": 24,
"page_url": "https://vramglass.com/zh/gpu/rtx-3090",
"quotes": [{
"market": "xianyu", "status": "ok",
"currency": "CNY", "median": 5350, "q1": 5100, "q3": 5650,
"median_usd": 751, "per_gb_usd": 31.3,
"sample_count": 214, "change_24h": -0.006,
"published_at": "2026-11-13T06:00:00Z"
}]
}]
}上面数字只是示意。使用数据请注明 VRAMGlass 并附上 page_url。
错误码
| HTTP | code | 说明 |
|---|---|---|
| 400 | invalid_request | 参数不对,message 里写了是哪个 |
| 401 | invalid_token | 没带密钥,或密钥过期、被吊销 |
| 404 | unknown_id | 没有这个硬件 id,先用 /v1/hardware 查 |
| 404 | unknown_model | 没有这个模型 id,先用 /v1/models 查 |
| 404 | not_found | 没有这个端点 |
| 405 | method_not_allowed | 只支持 GET |
| 429 | quota_exceeded | 今天的额度用完了,看 reset_at |
| 429 | rate_limited | 一分钟内请求太多,等一分钟 |
| 500 | internal_error | 我们这边出错,稍后重试 |
| 503 | prices_data_unavailable 等 | 数据暂时读不到,按 Retry-After 重试 |
错误响应都是 {"error": {"code", "message"}},按 code 判断,不要按 message。