跳到主要内容
知仓学习社ZHICANG

unpaywall-api

Find free legal full-text versions of scholarly articles via Unpaywall

执行命令联网无严重或高危命中brycewang-stanford/Auto-Empirical-Research-Skills

它会碰到什么

扫了多少1 个文本文件,5 KB
它会碰到什么执行命令联网
命中总数5 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Unpaywall API Guide

Overview

Unpaywall is a free, open database of over 40 million free scholarly articles. Built by the nonprofit OurResearch, Unpaywall indexes legal open access (OA) copies of papers from thousands of institutional repositories, preprint servers, publisher websites, and government archives. It is the most comprehensive source for finding freely available versions of paywalled academic literature.

Researchers, librarians, and tool developers use Unpaywall to locate open access copies of papers they need, assess the OA status of publications, and integrate OA discovery into their workflows. The database is updated daily, scanning repositories and publisher sites for new open access content. Unpaywall categorizes OA into types: gold (published OA), green (repository copy), hybrid (OA in subscription journal), and bronze (free to read on publisher site).

The API requires only an email address for authentication and is free for non-commercial use with a generous rate limit of 100,000 requests per day.

Authentication

Authentication is via email address passed as a query parameter. No API key or registration is needed -- just provide a valid email:

?email=your@email.com

This email is used for contact purposes only and to identify your application. The API will reject requests without a valid email address. For commercial use or higher rate limits, contact OurResearch for an API key.

Core Endpoints

DOI Lookup: Find Open Access for a Paper

  • URL: GET https://api.unpaywall.org/v2/{doi}
  • Parameters:

| Param | Type | Required | Description |

|-------|------|----------|-------------|

| doi | string | Yes | The DOI of the paper (URL-encoded in path) |

| email | string | Yes | Your email address |

  • Example:
  curl "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com"
  • Response: JSON with comprehensive OA information:
  • is_oa: boolean indicating if any OA version exists
  • best_oa_location: the best available OA copy with url, url_for_pdf, evidence, host_type, license, and version
  • oa_locations: array of all known OA copies
  • oa_status: gold, green, hybrid, bronze, or closed
  • title, doi, year, genre, journal_name, publisher

Batch DOI Lookup: Multiple Papers

  • URL: GET https://api.unpaywall.org/v2/{doi} (repeated per DOI)
  • Parameters:

| Param | Type | Required | Description |

|-------|------|----------|-------------|

| doi | string | Yes | One DOI per request (batch via multiple requests) |

| email | string | Yes | Your email address |

  • Example:
  # Process multiple DOIs sequentially
  for doi in "10.1038/nature12373" "10.1126/science.aaa8685" "10.1016/j.cell.2015.05.002"; do
    curl -s "https://api.unpaywall.org/v2/$doi?email=user@example.com" | jq '{doi: .doi, is_oa: .is_oa, oa_status: .oa_status, best_url: .best_oa_location.url}'
    sleep 0.01
  done
  • Response: Same JSON structure as single lookup, for each DOI.

Data Feed: Bulk Access

For large-scale analyses, Unpaywall provides a complete database snapshot and a weekly data feed, rather than requiring millions of individual API calls. Access is available at https://unpaywall.org/products/data-feed for registered users.

Rate Limits

The API allows 100,000 requests per day (approximately 1.15 requests per second sustained). There is no strict per-second rate limit, so burst traffic is acceptable as long as the daily cap is respected. Exceeding the limit returns HTTP 429. For analyses requiring more than 100K lookups, use the Unpaywall Data Feed (database snapshot) instead.

Common Patterns

Check OA Status for a Reading List

Determine which papers in your reading list have freely available versions:

curl -s "https://api.unpaywall.org/v2/10.1038/s41586-021-03819-2?email=user@example.com" | jq '{title: .title, is_oa: .is_oa, oa_status: .oa_status, pdf: .best_oa_location.url_for_pdf}'

Find the Best Available PDF

Get a direct link to the best open access PDF for a paper:

curl -s "https://api.unpaywall.org/v2/10.1145/3292500.3330672?email=user@example.com" | jq '.best_oa_location | {url: .url, pdf: .url_for_pdf, version: .version, license: .license}'

Audit Open Access Compliance for a Grant

Check whether publications from a funded project comply with OA mandates:

# For each publication DOI from the grant
curl -s "https://api.unpaywall.org/v2/10.1038/nature12373?email=user@example.com" | jq '{doi: .doi, title: .title, is_oa: .is_oa, oa_status: .oa_status, locations: [.oa_locations[] | {host: .host_type, license: .license, version: .version}]}'

References

  • Official documentation: https://unpaywall.org/products/api
  • Unpaywall data format: https://unpaywall.org/data-format
  • OurResearch: https://ourresearch.org/

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 unpaywall-api 的技能。它们内容并不相同,别混用: