fshy

Home

Crossref REST

crossref.org · 2 records in Data APIs, Debrid · JSON

Records 2

Crossref

Data APIs

www.crossref.org/documentation/retrieve-metadata/rest-api/acScholarly metadata API (DOI registry) and annual public data filedata-apis/crossrefJSONcomparereport an error

Free allowance
No sign-up: the public pool allows 5 requests a second for a single record and 1 a second for lists of records, 1 at a time; the polite pool, selected by an email address in the mailto parameter or the agent header, allows 10 a second for single DOI records and 3 a second for lists, 3 at a time...
Verdict
★ qualifiesusable as stated; the read path was probed
Cost
free tier
Identity
anonymousno card, no phone
Binding limit
request-ratepublic pool: 5 requests a second for a single record, 1 a second for lists of records; concurrency 1; polite pool (email in mailto or the agent header): 10 requests a second for a single DOI record, 3 a second for lists; concurrency 3...
Evidence
documented31 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-01checked 2026-10-31 (live); stale on 2026-12-01
Free tierNo sign-up: the public pool allows 5 requests a second for a single record and 1 a second for lists of records, 1 at a time; the polite pool, selected by an email address in the mailto parameter or the agent header, allows 10 a second for single DOI records and 3 a second for lists, 3 at a time; no daily cap is published
unit requests; metered on request-count; Measured on 2026-10-30: an anonymous list call answered x-rate-limit-limit 1, x-rate-limit-interval 1s, x-concurrency-limit 1 in pool public-array; an anonymous single-DOI call answered x-rate-limit-limit 5 in pool public-single.
Pricenone stated
Limits
  • request-rate (binding) public pool: 5 requests a second for a single record, 1 a second for lists of records; concurrency 1 source
  • request-rate (binding) polite pool (email in mailto or the agent header): 10 requests a second for a single DOI record, 3 a second for lists; concurrency 3 source
  • request-rate (binding) Metadata Plus: 150 requests a second, no concurrency limit; annual subscription from USD 550 source
  • per-object-cap rows maximum 1000 per call; cursor paging beyond source
Bindingrequest-rate One list call a second anonymously, or 3 in the polite pool, makes a full harvest through the API slow; the annual file is the route to the whole registry.
Identityanonymous No signup or registration. An email address in the mailto parameter or the agent header selects the polite pool with higher limits. Metadata Plus is an annual subscription that issues an API key.
EgressThe API is not metered by bytes. The annual public data file is distributed over Academic Torrents; its copy in the S3 bucket api-snapshots-reqpays-crossref is Requester Pays, so the downloader's AWS account pays the transfer, estimated by Crossref at USD 18 for the 2025 file of about 200 GB.
free allowance: the torrent has no published cap; the Requester Pays copy has no free allowance
Per-object caprows default 20, maximum 1000 per call; cursor paging for deeper result sets
Retentionthe API is a live index; the public data file is released once a year (the 2026 file on 2026 March 17); monthly snapshots for Metadata Plus subscribers stay available until the end of the following quarter
Interfacerest, s3 REST at https://api.crossref.org (works, members, funders, journals; JSON; cursor paging); the annual public data file as gzip JSONL over BitTorrent (Academic Torrents, doi:10.13003/nggf-vt1j) or from the Requester Pays S3 bucket api-snapshots-reqpays-crossref with --request-payer requester; monthly snapshots at https://api.crossref.org/snapshots/monthly/ for Metadata Plus tokens only
Toolingcurl or any HTTP client for the API; a BitTorrent client for the public data file; aws s3api get-object --request-payer requester for the S3 copy, which needs an AWS account
Composes withThe annual public data file is the bulk path: the 2026 file holds nearly 180 million records in 208 GB of compressed JSONL across 35909 files, free over Academic Torrents; the REST API with update-date or index-date filters, rows=1000 and a cursor brings a copy current between releases.
ReliabilityOver the limit answers 429; a manual block answers 403 and is lifted through support. The public and polite limits were revised from 1 December 2025.
NotesThe record debrid/crossref-rest-api describes the same REST API; this record adds the published pool limits and the bulk paths.
Evidence notedocumented The pool limits, the bulk file and its size are vendor pages read on 2026-10-30; two anonymous calls the same day returned the public-pool limits in their headers (1 a second for a list, 5 for a single DOI). The torrent was not downloaded.
Parsed numbers
  • has-free-tier 1
  • request-rate 5 requests
  • request-rate 10 requests
  • request-rate 150 requests
Evidence 31
datesourcewhat it proved
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acthe REST API needs no signup
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acthe polite pool is selected by an email address in mailto or the agent header
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acthe public pool allows 5 requests a second, concurrency 1
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acthe polite pool allows 10 requests a second, concurrency 3
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acMetadata Plus allows 150 requests a second with no concurrency limit
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acpart of the text of Reliability, above
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/acpart of the text of Reliability, above
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe public pool allows 5 single-record requests a second
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe public pool allows 1 list request a second
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe polite pool allows 10 single-DOI requests a second
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe polite pool allows 3 list requests a second
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe limits are per second
2026-10-30www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe limits were revised from 1 December 2025
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/tia call returns at most 1000 rows
2026-10-30www.crossref.org/documentation/retrieve-metadata/rest-api/tideep result sets use cursor paging
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlothe public data file is released once a year
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlothe S3 copy is the bucket api-snapshots-reqpays-crossref
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlothe S3 copy is Requester Pays
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlothe S3 copy of the 2025 file costs about USD 18
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlomonthly snapshots are removed after the following quarter
2026-10-30www.crossref.org/documentation/retrieve-metadata/bulk-downlothe public data file is distributed over Academic Torrents
2026-10-30doi.org/10.13003/nggf-vt1jthe 2026 public data file is 35909 files
2026-10-30doi.org/10.64000/7s70g-drz77the 2026 public data file is 208 GB compressed
2026-10-30doi.org/10.64000/7s70g-drz77the 2026 public data file holds nearly 180 million records
2026-10-30doi.org/10.64000/7s70g-drz77the 2026 public data file was announced on 2026 March 17
2026-10-30www.crossref.org/fees/the lowest Metadata Plus annual fee is USD 550
2026-10-30probe: https://api.crossref.org/works?rows=1&select=DOIan anonymous list call was limited to 1 request
2026-10-30probe: https://api.crossref.org/works?rows=1&select=DOIthe limit interval was 1 second
2026-10-30probe: https://api.crossref.org/works?rows=1&select=DOIthe anonymous list call went to the public pool
2026-10-30probe: https://api.crossref.org/works/10.1128/mbio.01735-25an anonymous single-DOI call was limited to 5 requests a second
2026-10-30probe: https://api.crossref.org/works/10.1128/mbio.01735-25the anonymous single-DOI call went to the public pool
More fields 3
public file 2026 gb208
public file 2026 files35909
metadata plus min usd year550

www.crossref.org/documentation/retrieve-metadata/rest-api/Scholarly metadata index (DOI registry)debrid/crossref-rest-apiJSONcomparereport an error

Free allowance
No sign-up: the public pool allows 5 requests a second for a single record and 1 a second for lists of records, 1 at a time; the polite pool, selected by an email address in the mailto parameter or the agent header, allows 10 a second for a single DOI record and 3 a second for lists, 3 at a...
Verdict
★ qualifiesusable as stated; the read path was probed
Cost
free tier
Identity
anonymousno card, no phone
Binding limit
request-ratepublic pool: 5 requests a second for a single record, 1 a second for lists of records, concurrency 1; polite pool (an email address in mailto or the agent header): 10 a second for a single DOI record, 3 a second for lists, concurrency 3
Evidence
documented29 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
Free tierNo sign-up: the public pool allows 5 requests a second for a single record and 1 a second for lists of records, 1 at a time; the polite pool, selected by an email address in the mailto parameter or the agent header, allows 10 a second for a single DOI record and 3 a second for lists, 3 at a time; no daily cap is published
unit requests; metered on request-count; The limits come back in the x-rate-limit-limit, x-rate-limit-interval and x-concurrency-limit response headers; an anonymous list call on 2026-10-31 answered x-rate-limit-limit 1, x-rate-limit-interval 1s and x-concurrency-limit 1 in pool public-array.
PriceUSD 0
Limits
  • request-rate (binding) public pool: 5 requests a second for a single record, 1 a second for lists of records, concurrency 1; polite pool (an email address in mailto or the agent header): 10 a second for a single DOI record, 3 a second for lists, concurrency 3 source
  • per-object-cap rows maximum 1000 per call, cursor paging beyond; rows=1000 with a five-field select returned 773,304 bytes on 2026-10-31
Monthly snapshots are a Metadata Plus benefit fetched with a Crossref-Plus-API-Token header; the free bulk path is the annual public data file over Academic Torrents. Without a token, a HEAD of the documented URL https://api.crossref.org/snapshots/monthly/latest/all.json.tar.gz answered 200 with a zero-byte text/html body on 2026-10-31.
Bindingrequest-rate One list call a second in the public pool, or 3 in the polite pool, each of at most 1000 rows, decides how many records a day the API yields; the annual public data file is the route to the whole registry.
Identityanonymous No signup or registration. An email address in the mailto parameter or the agent header selects the polite pool with higher limits; it is not a credential. Metadata Plus is an annual subscription that issues an API key.
EgressFree and unmetered. No key, no account, no allowance published.
free allowance: no byte allowance published
Per-object caprows maximum 1000 per call; rows=1000 with a five-field select returned 773,304 bytes in one response on 2026-10-31
RetentionA registered DOI cannot be fully deleted and its metadata can be updated, so a record is corrected rather than removed.
Interfacerest, cli GET https://api.crossref.org/works with rows, cursor and select; content negotiation for single records. The polite pool is signalled with mailto= or a User-Agent carrying an address.
Toolingcurl/python-requests; the harvester package and the documented cursor pattern. No SDK required.
Composes withCrossref supplies the DOI-level citation graph and licence metadata; the full text behind each DOI is a separate fetch from the publisher or from an OA mirror such as PMC or Europe PMC.
ReliabilityOver the rate limit answers 429; a manual block answers 403 and is lifted through support. Without a Metadata Plus token the monthly snapshot URLs answer 200 with an empty or stub HTML body instead of an error, so a client must check the bytes it saves.
NotesMetadata only: bibliographic records with funding data, licence information, ORCID and ROR IDs and some abstracts, no full text. The record data-apis/crossref is the home of this offer and adds the annual public data file.
Evidence notedocumented The pool limits are vendor pages read on 2026-10-31; an anonymous list call and an anonymous single-DOI call the same day returned the public-pool limits in their headers, and a rows=1000 call returned 773,304 bytes. The published limits were not tested at their ceiling.
Parsed numbers
  • has-free-tier 1
  • request-rate 5 requests
  • price USD 0
Evidence 29
datesourcewhat it proved
2026-10-23www.crossref.org/documentation/retrieve-metadata/rest-api/'No sign-up is required to use the REST API' and the polite-pool mailto pattern
2026-10-23www.crossref.org/documentation/retrieve-metadata/rest-api/ti'back off if you start seeing 429 statuses' - the only published rate signal; cursor paging for bulk
2026-10-23probe: https://api.crossref.org/works?rows=1000&cursor=*&select=DOI,title,container-title,published,author200, 773,304 bytes of application/json in 3,456 ms - the real bytes per call
2026-10-23probe: https://api.crossref.org/snapshots/monthly/latest.json.gz200 with 41 bytes of text/html and no file - the documented snapshot URL did not serve a snapshot
2026-10-31www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe public pool allows 1 list request a second, concurrency 1; the page also gives 5 for a single record and 10 and 3 in the polite pool
2026-10-31www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe free tier is a request rate
2026-10-31www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe limits count requests
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/acthe access page holds the pool limit table
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/acthe polite pool allows 10 requests a second, concurrency 3
2026-10-31probe: https://api.crossref.org/works?rows=1&select=DOIan anonymous list call went to the public list pool with a limit of 1 a second
2026-10-31www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe public pool allows 5 single-record requests a second, concurrency 1
2026-10-31probe: https://api.crossref.org/works?rows=1000&cursor=*&select=DOI,title,container-title,published,authora rows=1000 call with a five-field select returned 773,304 bytes
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/tia call returns at most 1000 rows
2026-10-31probe: https://api.crossref.org/snapshots/monthly/latest/all.json.tar.gzthe Metadata Plus snapshot URL answered HEAD 200 with a zero-byte text/html body and no token
2026-10-31www.crossref.org/documentation/retrieve-metadata/bulk-downlothe monthly snapshot route needs a Metadata Plus token
2026-10-31probe: https://api.crossref.org/snapshots/monthly/latest.json.gzthe undocumented URL /snapshots/monthly/latest.json.gz answers an empty 41-byte HTML listing
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/aca manual block answers 403 and support lifts it; the page also says over the limit answers 429
2026-10-31www.crossref.org/blog/announcing-changes-to-rest-api-rate-lithe polite pool allows 3 list requests a second; the public pool 1
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/acthe polite pool is selected by an email address in mailto or the agent header
2026-10-31probe: https://api.crossref.org/works?rows=1000&cursor=*&select=DOI,title,container-title,published,authorthe rows=1000 call answered with the public list limit of 1 a second
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/the API carries bibliographic metadata with funding, licence, identifiers and abstracts
2026-10-31probe: https://api.crossref.org/works/10.1128/mbio.01735-25an anonymous single-DOI call on 2026-10-31 went to the public single-record pool
2026-10-31www.crossref.org/documentation/retrieve-metadata/rest-api/acthe public pool allows 5 requests a second, concurrency 1
2026-11-02www.crossref.org/documentation/register-maintain-records/creCrossref states that a registered DOI cannot be fully deleted
2026-11-02www.crossref.org/documentation/register-maintain-records/crethe metadata of a DOI can be updated while the DOI string stays
2026-11-02www.crossref.org/documentation/register-maintain-records/maiDOIs cannot be deleted and their metadata can be updated
2026-11-02www.crossref.org/members-area/canceling/registered DOIs and their metadata persist after a membership is cancelled
2026-11-02www.crossref.org/members-area/canceling/a member that cancels can no longer update its metadata
2026-11-02community.crossref.org/t/is-it-possible-to-remove-records-enCrossref staff state that a DOI record cannot be removed and its metadata can be updated
More fields 2
rows 1000 bytes773304
snapshot status200 with 41-byte HTML stub