Sources matrix

| Source | Tier | Phase | Auth | ToS link | doiget feature |

Sources

Status: NORMATIVE (user responsibility advisory). This document lists every source doiget integrates with, the access prerequisites, and a pointer to each source's official Terms of Service. Users are responsible for ensuring they have the right to access content via these sources and for compliance with each source's ToS.


1. Source matrix

SourceTierPhaseAuthToS linkdoiget feature
Crossref1 (OA)1nonehttps://www.crossref.org/services/metadata-retrieval/rest-api/always-on
Unpaywall1 (OA)1email (polite pool)https://unpaywall.org/products/apialways-on
arXiv1 (OA)1nonehttps://info.arxiv.org/help/api/index.htmlalways-on
OpenAlex2 (metadata)4nonehttps://docs.openalex.org/how-to-use-the-api/api-overview--features metadata + DOIGET_ENABLE_OPENALEX
Semantic Scholar2 (metadata)4API key (optional)https://www.semanticscholar.org/product/api--features metadata + DOIGET_ENABLE_S2
DOAJ2 (metadata)4nonehttps://www.doaj.org/api--features metadata + DOIGET_ENABLE_DOAJ
Springer Nature OA3 (institutional)5aAPI keyhttps://dev.springernature.com/--features tdm-springer + key + agree
APS Harvest TDM3 (institutional)5bAPI keyhttps://harvest.aps.org/--features tdm-aps + key + agree
Elsevier ScienceDirect TDM3 (institutional)5cAPI keyhttps://www.elsevier.com/legal/tdmrep--features tdm-elsevier + key + agree

2. User responsibility

For each source the user invokes, the user is the contracting party. doiget does not hold any credential for any user. Before enabling a source, ensure that you:

doiget enforces a hard rate cap of 5 fetches per second per process to make polite behavior the default (LEGAL.md §6 safeguard 8).

3. Default release binaries

cargo install doiget (default) compiles Tier 1 only. Tier 2 metadata sources require an opt-in build:

cargo install doiget --features metadata

Tier 3 TDM sources are individually feature-flagged and require user-driven build:

cargo install doiget --features metadata,tdm-springer
cargo install doiget --features metadata,tdm-aps
cargo install doiget --features metadata,tdm-elsevier

There is no tdm-all umbrella feature (SCOPE.md §non-goal 12).

4. Source-specific notes

Crossref

Unpaywall

arXiv

OpenAlex / Semantic Scholar / DOAJ

TDM sources

Each requires:

  1. A Cargo feature compiled in (tdm-elsevier, tdm-aps, tdm-springer).
  2. The user's API key in DOIGET_KEY_<PUBLISHER> env or [tdm.<publisher>] api_key in credentials.toml.
  3. The agreement env DOIGET_AGREE_TDM_<PUBLISHER>=1.

If any of the three is missing, the source is unavailable at runtime (CAPABILITY.md §2).

5. Adding a new source

A new source addition requires:

  1. A new GitHub Discussion describing the source, its access pattern, and Tier classification.
  2. An ADR locking the Tier and (if Tier 3) the Cargo feature name.
  3. An entry in this document with the official ToS link and prerequisites.
  4. A doc in INTEGRATION/<source>.md if user-side configuration is non-trivial.
  5. Update of this matrix.

6. Politeness defaults

doiget's defaults are designed to be on the polite side of every source we know of:

If a source publishes a stricter rate guideline, doiget will adopt the stricter value at the per-source level rather than relax the global cap.


Source: site/content/developer/sources.md