5.4 KiB
5.4 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| crossref-api | Crossref API 文档翻译 |
|
Crossref API
Crossref 是学术内容的 DOI 注册机构。它为超过 1.5 亿部作品提供元数据,包括期刊文章、图书、会议论文、数据集和预印本。
基础 URL
https://api.crossref.org
身份验证
无需身份验证。添加 mailto=you@example.com 可进入礼貌池(速率限制快 2 倍)。
速率限制
| 池 | 速率 | 并发数 |
|---|---|---|
| 公共(无 mailto) | 5 请求/秒 | 1 并发 |
| 礼貌(带 mailto) | 10 请求/秒 | 3 并发 |
HTTP 429 = 暂时被阻止。
关键端点
1. 搜索作品
GET /works?query={text}&rows={n}&mailto=you@example.com
| 参数 | 默认值 | 描述 |
|---|---|---|
query |
-- | 在所有字段中进行全文搜索 |
query.author |
-- | 搜索作者姓名 |
query.bibliographic |
-- | 搜索标题、作者、ISSN、年份 |
query.affiliation |
-- | 搜索所属机构 |
query.container-title |
-- | 搜索期刊名称 |
filter |
-- | 逗号分隔的 name:value 键值对 |
sort |
score |
score(相关性)、published(出版时间)、issued(发行时间)、deposited(收录时间)、updated(更新时间)、is-referenced-by-count(被引用次数)、references-count(参考文献数) |
order |
desc |
asc(升序)或 desc(降序) |
rows |
20 | 每页结果数(最大 1000) |
offset |
0 | 跳过 N 条结果(最大 10,000) |
cursor |
-- | 使用 * 进行基于游标的深层分页 |
select |
-- | 逗号分隔的要返回的字段名 |
facet |
-- | 分面计数,例如 type-name:10 |
sample |
-- | 返回 N 条随机条目(最大 100) |
示例:
https://api.crossref.org/works?query=CRISPR+gene+therapy&filter=from-pub-date:2024-01-01,type:journal-article,has-abstract:true&rows=5&sort=published&order=desc&mailto=you@example.com
2. 通过 DOI 获取作品
GET /works/{doi}?mailto=you@example.com
对 DOI 进行 URL 编码:10.1038/nature12373 变为 10.1038%2Fnature12373
示例:
https://api.crossref.org/works/10.1038%2Fnature12373?mailto=you@example.com
3. 期刊
GET /journals?query={name}&rows={n}
GET /journals/{issn}
GET /journals/{issn}/works?query={text}&rows={n}
4. 资助机构
GET /funders?query={name}
GET /funders/{id}
GET /funders/{id}/works?rows={n}
资助机构 ID 来自 Funder Registry(例如,NSF 的 ID 为 100000001)。
5. 成员(出版商)
GET /members?query={name}
GET /members/{id}/works?rows={n}
关键过滤器
日期过滤器(接受 YYYY、YYYY-MM、YYYY-MM-DD 格式)
| 过滤器 | 描述 |
|---|---|
from-pub-date / until-pub-date |
出版日期 |
from-print-pub-date / until-print-pub-date |
印刷版出版日期 |
from-online-pub-date / until-online-pub-date |
网络版出版日期 |
from-posted-date / until-posted-date |
发布/张贴日期(预印本) |
布尔过滤器
| 过滤器 | 描述 |
|---|---|
has-abstract |
有摘要 |
has-orcid |
有 ORCID ID |
has-funder |
有资助机构信息 |
has-full-text |
有全文链接 |
has-references |
有参考文献列表 |
has-license |
有许可信息 |
值过滤器
| 过滤器 | 描述 |
|---|---|
type |
journal-article(期刊文章)、posted-content(发布内容)、book-chapter(图书章节)、proceedings-article(会议论文)等 |
issn |
期刊 ISSN |
doi |
特定 DOI |
orcid |
贡献者 ORCID |
funder |
Funder Registry ID |
member |
Crossref 成员 ID |
prefix |
DOI 前缀 |
license.url |
许可 URL |
update-type |
correction(更正)、retraction(撤稿) |
语法: filter=name1:value1,name2:value2
分页
基于偏移量(最大 10,000)
/works?query=cancer&rows=100&offset=200
基于游标(无限制)
- 首次请求:
?cursor=*&rows=100 - 响应中包含
next-cursor - 后续请求:
?cursor={next-cursor-value}&rows=100 - 游标 5 分钟后过期
响应格式
列表响应
{
"status": "ok",
"message-type": "work-list",
"message": {
"total-results": 2779116,
"items-per-page": 20,
"next-cursor": "...",
"items": [...]
}
}
作品对象(关键字段)
{
"DOI": "10.1038/nature12373",
"title": ["Nanometre-scale thermometry in a living cell"],
"author": [{"given": "G.", "family": "Kucsko", "sequence": "first"}],
"publisher": "Springer Science and Business Media LLC",
"type": "journal-article",
"published": {"date-parts": [[2013, 7, 31]]},
"container-title": ["Nature"],
"ISSN": ["0028-0836", "1476-4687"],
"volume": "500",
"issue": "7460",
"page": "54-58",
"is-referenced-by-count": 1745,
"references-count": 30,
"abstract": "<p>Abstract text with HTML tags...</p>",
"license": [{"URL": "...", "content-version": "vor"}],
"link": [{"URL": "...", "content-type": "application/pdf"}],
"reference": [{"key": "...", "doi-asserted-by": "crossref", "DOI": "..."}],
"subject": ["Multidisciplinary"],
"language": "en"
}
注意:title 和 container-title 是数组。published.date-parts 的格式为 [[year, month, day]]。摘要可能包含 HTML 标签。