Bili Card API
概述
Bili Card 提供简洁的 API 接口,用于生成美观的 Bilibili 用户信息展示卡片。所有接口均返回 SVG 格式图像,支持多种主题与配色方案。
Base URL: https://bili-card.130923.xyz/api/
统一响应结构
成功响应(SVG 卡片接口)
- Content-Type:
image/svg+xml - Cache-Control:
public, max-age=3600 - Body: SVG 图像内容
成功响应(JSON 接口)
{
"code": 0,
"message": "success",
"data": {}
}
错误响应
{
"code": 错误代码,
"message": "错误描述",
"data": null
}
认证与速率限制
- 目前所有接口无需认证,公开访问
- 默认速率限制:每个 IP 100 次/分钟
- 超过限制将返回
429 Too Many Requests
核心概念
- UID: Bilibili 用户唯一标识符
- 主题 (Theme): 定义卡片布局与样式(如 default, modern, btv, simple)
- 配色 (Color): 定义卡片色彩方案(如 blue, pink, green, purple, dark)
端点索引
| 端点 | 方法 | 描述 |
|---|---|---|
/api/card |
GET | 生成 Bilibili 用户卡片 |
/api/ |
GET | 查询主题与配色信息 |
端点详情
1. 生成 Bilibili 用户卡片
端点: GET /api/card
描述: 根据 UID 生成用户信息 SVG 卡片
参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
uid |
string | 是 | - | B站用户 UID |
theme |
string | 否 | default |
主题样式 |
color |
string | 否 | blue |
配色方案 |
示例请求:
curl "https://bili-card.130923.xyz/api/card?uid=2105459088&theme=modern&color=green"
响应: - 成功: SVG 图像内容 - 失败: JSON 错误响应
2. 查询主题与配色信息
端点: GET /api/
描述: 查询可用主题、配色信息或预览效果
参数:
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
action |
string | 否 | list |
操作类型: list, preview, details |
type |
string | 否 | - | 类型: themes, colors |
id |
string | 否 | - | 项目 ID(用于 details 操作) |
theme |
string | 否 | - | 主题名称(用于 preview 操作) |
color |
string | 否 | - | 配色名称(用于 preview 操作) |
操作示例:
2.1 列出所有可用资源
GET /api/?action=list
响应示例:
{
"code": 0,
"message": "success",
"data": {
"themes": ["default", "modern", "btv", "simple"],
"colors": ["blue", "pink", "green", "purple", "dark"]
}
}
2.2 预览特定主题+配色组合
GET /api/?action=preview&theme=default&color=blue
响应: SVG 预览图像
2.3 获取主题或配色详细信息
GET /api/?action=details&id=default
响应示例:
{
"code": 0,
"message": "success",
"data": {
"id": "default",
"name": "默认主题",
"description": "经典的B站风格卡片设计",
"features": ["标准布局", "包含头像、昵称、签名", "显示粉丝、获赞、最新视频"]
}
}
错误代码参考
| 代码 | 描述 | 解决建议 |
|---|---|---|
| 400 | 参数错误 | 检查 UID 格式是否正确 |
| 404 | 用户不存在 | 确认 UID 对应的用户存在 |
| 429 | 请求过多 | 降低请求频率 |
| 500 | 服务器错误 | 稍后重试或提交 Issue |
| 503 | 服务暂不可用 | B站 API 限流或维护中 |
客户端使用示例
JavaScript
// 生成卡片 URL
function generateCardUrl(uid, theme = 'default', color = 'blue') {
return `https://bili-card.130923.xyz/api/card?uid=${uid}&theme=${theme}&color=${color}`;
}
// 在网页中嵌入卡片
const cardUrl = generateCardUrl('2105459088', 'modern', 'green');
document.getElementById('bili-card').innerHTML =
`<img src="${cardUrl}" alt="Bilibili卡片" width="540" height="220">`;
Python
import requests
def get_bili_card(uid, theme='default', color='blue'):
url = f"https://bili-card.130923.xyz/api/card?uid={uid}&theme={theme}&color={color}"
response = requests.get(url)
if response.status_code == 200:
with open('bili_card.svg', 'wb') as f:
f.write(response.content)
print("卡片已保存为 bili_card.svg")
else:
print(f"请求失败: {response.status_code}")
在 GitHub README 中使用

最佳实践
- 缓存卡片: 建议在客户端缓存生成的 SVG,减少 API 调用
- 错误处理: 始终添加备用方案,当卡片生成失败时显示默认图像
- 尺寸控制: 根据使用场景调整卡片显示尺寸
- 性能优化: 对大量卡片使用懒加载技术
- UID 验证: 在使用前验证 UID 格式(纯数字,通常 5-10 位)