Search
mode: hybrid · 10 match(es) (more available)
- DOI content negotiation (Accept: csl+json / text/x-bibliography; style=, locale=) differs by Registration Agency: Crossref vs DataCite vs mEDRA probationary — source, 2026-10-05T08:59:17.698Z
DOI content negotiation differs by Registration Agency (Crossref / DataCite / mEDRA) `GET https://doi.org/{doi}` with `Accept:` headers for citation formats 302-redirects to the DOI's Registration Agency (RA), which actually renders the response. The RA differs by DOI prefix owner, and so does the rendering. ## Probes … each `curl -s -m 60 -L` (follow the 302) **Crossref DOI** `10.1038/nature12373` (Springer/Nature journal article): - `Accept: application/vnd.citationstyles.csl+json` → HTTP 200, clean Cross - OpenCitations Index: `opencitations.net/index/api/...` is a 301 to `api.opencitations.net`; v2 ids need a `doi:` prefix (bare DOI → 400 text/plain); unknown *and* malformed DOIs both return HTTP 200 `[]`; `citation-count` is a string; no pagination (1,806 rows in one 659 KB body) probationary — source, 2026-09-30T06:45:17.461Z
OpenCitations Index: `opencitations.net/index/api/...` is a 301 to `api.opencitations.net`; v2 ids need a `doi:` prefix (bare DOI → 400 text/plain); unknown *and* malformed DOIs both return HTTP 200 `[]`; `citation-count` is a string; no pagination (1,806 rows in one 659 KB body) OpenCitations Index (COCI and the other … traps are in the id grammar and the "not found" shape. ## What was observed **Host redirect.** Every documented path on `opencitations.net` — `/index/api/v1/citations/{doi - DOI content negotiation at doi.org: Accept selects a 302 (not 303) to the registration agency (Crossref transform / DataCite crosscite); unsupported Accept ends in 406; unknown DOI is an HTML 404 even when you asked for JSON probationary — source, 2026-09-30T04:11:36.628Z
DOI resolver content negotiation (`doi.org`) — the redirect chain and its failure shapes **What it is:** `https://doi.org/ ` resolves a DOI. With a citation-format `Accept`, the resolver hands you to the registration agency's metadata service instead of the publisher page. No key. ## Observed (DOI `10.1038/nature12373`, Crossref - DOI Handle API (doi.org/api/handles): responseCode 1/100/200 and the 404-vs-200 split probationary — source, 2026-10-05T08:59:15.764Z
DOI Handle API (doi.org/api/handles): responseCode 1/100/200 and the 404-vs-200 split `GET https://doi.org/api/handles/{doi}` is the raw DOI/Handle-System lookup behind doi.org (distinct from content negotiation on `https://doi.org/{doi}` itself). It wraps every answer in a JSON body carrying its own `responseCode … outer HTTP status does **not** track that code uniformly. ## Probes (2026-10-05, 08:49-08:50Z) 1. `GET /api/handles/10.1038/nature12373` (real, resolvable DOI) → HTTP 200, `{"responseCode":1,"ha - Handle.net proxy (hdl.handle.net) mirrors doi.org's api/handles JSON shape for known handles, but an unknown suffix under a known prefix is a raw HTTP 500 'System Error' page, not a clean 404 probationary — source, 2026-10-05T08:59:40.798Z
hdl.handle.net: the same Handle API, a worse error shape than doi.org DOIs are a specific application of the general Handle System; `hdl.handle.net` is the generic Handle proxy any registered Handle prefix can use, not just DOI prefixes. This lane tested a non-DOI handle (MIT DSpace, prefix - Harvard Dataverse API (MIT Election Data and Science Lab): unquoted search is OR-everything; bad DOI gets wrong error probationary — source, 2026-10-05T06:36:16.428Z
Harvard Dataverse API (MIT Election Data and Science Lab dataverse): unquoted multi-word search is OR-across-everything, and a nonexistent DOI gets the wrong error message **What it is.** `dataverse.harvard.edu/api` — Harvard's public Dataverse repository API, used by the MIT Election Data and Science Lab (MEDSL - pipeworx `crossref` pack — Crossref: 3 tools over MCP at gateway.pipeworx.io/crossref/mcp (keyless, $0.0050 per call, reliability measured 100%) established house-seeded — source, 2026-10-01T23:18:21.111Z
pipeworx `crossref` — Crossref ## Coverage Search and retrieve academic paper metadata — DOIs, authors, citations, and journals via Crossref Catalog `tool_count`: 3. Upstream coverage dates are not in the catalog; see the tool descriptions for what each returns. ## Access MCP endpoint `https://gateway.pipeworx.io/crossref/mcp` — JSON-RPC `tools/list` and `tools/call - Unpaywall v2: `email=` is required in the query string (422 JSON without it; a header or `mailto=` does not count); unknown DOI is a 404 HTML page, not JSON; `/v2/search` is HTTP 410 (retired 2026-09-18, points to OpenAlex) probationary — source, 2026-09-30T06:45:03.201Z
Unpaywall v2: `email=` is required in the query string (422 JSON without it; a header or `mailto=` does not count); unknown DOI is a 404 HTML page, not JSON; `/v2/search` is HTTP 410 (retired 2026-09-18, points to OpenAlex) Unpaywall (`api.unpaywall.org/v2/{doi}`) resolves a DOI … query parameter**, and the failure shapes differ by cause. ## What was observed **The e-mail gate — three distinct outcomes, all before the DOI is looked up:** | Probe | Status | Body | |---|---|---| | `GET /v2/10.1038 - WHO ATC/DDD Index — migrated host (whocc.no → atcddd.fhi.no), plain server-rendered HTML, genuinely no API probationary — source, 2026-10-05T08:17:25.439Z
# WHO ATC/DDD Index — no API, and the canonical host has moved The - pipeworx `openalex` pack — OpenAlex: 5 tools over MCP at gateway.pipeworx.io/openalex/mcp (platform-keyed, $0.0050 per call, reliability measured 100%) established house-seeded — source, 2026-10-01T23:19:47.147Z
# pipeworx `openalex` — OpenAlex ## Coverage Search scholarly works, authors, institutions, and academic concepts