开放 API
通过 RESTful API 访问 Ai4Scholar 的全部学术数据能力
概述
Ai4Scholar 开放 API 提供 RESTful 接口,让开发者可以在自己的应用中集成学术搜索、论文分析等能力。
认证方式
所有 API 请求需要在 Header 中携带 API Key:
Authorization: Bearer YOUR_API_KEY全部端点统一使用这一种方式。不支持 x-api-key 请求头——若你参考的是
Semantic Scholar 官方文档,注意那是它们自家 API 的用法,通过 Ai4Scholar
调用时一律用 Authorization: Bearer。
获取 API Key
- 登录 Ai4Scholar Dashboard
- 进入 Open Platform 页面
- 点击「创建密钥」
- 复制并保存密钥
基础端点
| 端点 | 方法 | 说明 |
|---|---|---|
/graph/v1/paper/search | GET | 搜索论文 |
/graph/v1/paper/{id} | GET | 论文详情 |
/graph/v1/paper/{id}/citations | GET | 获取被引 |
/graph/v1/paper/{id}/references | GET | 获取参考文献 |
/graph/v1/author/search | GET | 搜索作者 |
/graph/v1/author/{id} | GET | 作者详情 |
/graph/v1/author/{id}/papers | GET | 作者论文列表 |
/api/credits | GET | 查询积分余额(免费,不扣费) |
请求示例
Python
import requests
API_KEY = "sk-user-your-key-here"
BASE_URL = "https://ai4scholar.net/graph/v1"
response = requests.get(
f"{BASE_URL}/paper/search",
params={
"query": "transformer attention mechanism",
"limit": 10,
"fields": "paperId,title,abstract,authors,year,citationCount"
},
headers={"Authorization": f"Bearer {API_KEY}"}
)
data = response.json()
for paper in data["data"]:
print(f"{paper['title']} ({paper['year']}) - Citations: {paper['citationCount']}")JavaScript
const API_KEY = "sk-user-your-key-here";
const BASE_URL = "https://ai4scholar.net/graph/v1";
const response = await fetch(
`${BASE_URL}/paper/search?query=transformer&limit=5`,
{
headers: { Authorization: `Bearer ${API_KEY}` }
}
);
const data = await response.json();
console.log(data);cURL
curl "https://ai4scholar.net/graph/v1/paper/search?query=LLM&limit=5&fields=title,year,citationCount" \
-H "Authorization: Bearer sk-user-your-key-here"计费说明
每一次成功的 API 调用都会消耗积分,包括 Semantic Scholar、PubMed 等全部数据源—— 没有免费端点。单次最少 1 积分,不同端点单价不同(多数 1 分,批量类 2 分, 期刊推荐 5 分)。
批量接口是固定价,不按条数计费
/graph/v1/paper/batch、/graph/v1/paper/search/bulk、/graph/v1/author/batch
这类接口一次调用固定收费,与传入的 ID 数量无关:
单篇查询 500 次 → 500 积分
batch 一次传 500 篇 → 2 积分(省 250 倍)所以多篇场景强烈建议用 batch——既省延迟,也大幅省积分。
失败不扣费
上游服务报错、超时等失败会自动退还本次积分,你只为成功的结果付费。
从响应里读实际花费
每个计费响应都带这两个头,便于对账与预算控制:
| 响应头 | 含义 |
|---|---|
x-credits-charged | 本次实际扣费 |
x-credits-remaining | 调用后的剩余积分 |
查询余额(免费)
GET /api/credits 不扣费,可在任务开始前做预算校验:
curl "https://ai4scholar.net/api/credits" \
-H "Authorization: Bearer sk-user-your-key-here"{
"credits": {
"permanent": 90026,
"member_monthly_remaining": 500,
"total_available": 90526
},
"api_key": {
"credit_limit": null,
"credits_used": 21,
"credits_remaining": null
},
"membership": { "plan": "pro", "status": "active", "period_end": "2026-08-01T00:00:00Z" }
}其中 permanent 是永久积分(充值/兑换码获得,不过期),
member_monthly_remaining 是会员本周期剩余的月度积分(扣费时月度优先,
不足自动以永久积分补足)。api_key.credit_limit 为 null 表示该密钥未设额度上限。
速率限制
- 免费用户:10 次/分钟
- 专业版:100 次/分钟
- 团队版:不限
错误码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 400 | 参数错误 |
| 401 | 认证失败,检查 API Key |
| 429 | 超出速率限制 |
| 500 | 服务器内部错误 |