SkillAgentSearch skills...

unpaywall-api

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

Install / Use

npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill unpaywall-api

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

88/100

Supported Platforms

Universal

Our assessment of unpaywall-api

unpaywall-api scores 88/100 on our quality scale, 119th of 209 Communication skills we index.

Its SKILL.md is 5.2 KB long, well organised into 14 sections with 4 code examples: a solid amount of guidance for an agent.

With 4,360 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
20/20
Description
12/15
Adoption
15/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 3 days ago, so unpaywall-api is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

unpaywall-api compared with similar skills

All 4 of these similar skills score higher than unpaywall-api; compare them before choosing.

SkillScoreStarsUpdatedFormat
unpaywall-api (this skill)by brycewang-stanford884.4k3d agoSKILL.md
Agent-Reachby Panniantong10085.6k11d agoCLAUDE.md
headroomby headroomlabs-ai10073.9ktodayCLAUDE.md
Scraplingby D4Vinci10083.9ktodayMCP Server
LocalAIby mudler10049.3ktodayMCP Server

Frequently asked questions

How do I install unpaywall-api?
Run npx skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill unpaywall-api. The install tabs above show the steps for each supported agent.
Which AI agents does unpaywall-api work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is unpaywall-api safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is unpaywall-api still maintained?
The repository was last updated 3 days ago, so unpaywall-api is actively maintained.

name: unpaywall-api description: "Find free legal full-text versions of scholarly articles via Unpaywall" metadata: openclaw: emoji: "🔍" category: "literature" subcategory: "fulltext" keywords: ["full-text retrieval", "open access", "journal copyright policy", "self-archiving"] source: "https://unpaywall.org/products/api" requires: env: ["UNPAYWALL_EMAIL"]

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/

Related Skills

View on GitHub
GitHub Stars4.4k
CategoryCommunication
Updated3d ago
Forks527

Languages

Stata

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium