Files
2026-07-13 21:35:37 +08:00

5.4 KiB
Raw Permalink Blame History

name, description, metadata
name description metadata
crossref-api Crossref API 文档翻译
type
reference

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}

关键过滤器

日期过滤器(接受 YYYYYYYY-MMYYYY-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

基于游标(无限制)

  1. 首次请求:?cursor=*&rows=100
  2. 响应中包含 next-cursor
  3. 后续请求:?cursor={next-cursor-value}&rows=100
  4. 游标 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"
}

注意:titlecontainer-title 是数组。published.date-parts 的格式为 [[year, month, day]]。摘要可能包含 HTML 标签。