Documentation

OAI-PMH

OAI-PMH is a widely-used standard for querying metadata, frequently used by libraries and repositories. We operate an OAI-PMH service for the distribution of metadata in XML format using the OAI-PMH version 2 repository framework.

On this page:

Quick start

See below for a description of the request parameters, including and explanation of sets an verbs. Please read that section if you are not familiar with OAI-PMH interfaces.

Public requests:

  • To get all sets:
https://oai.crossref.org/oai?verb=ListSets
  • To get get records deposited by a journal on a single day:
https://oai.crossref.org/oai?verb=ListIdentifiers&from=2025-03-07&until=2025-03-07&set=J:10.1371:60407

For Members:

  • To get records registered for a title on a single day:
https://oai.crossref.org/DepositHarvester?verb=ListRecords&from=2020-01-01&until=2025-03-01&set=J:10.5555:161845&usr=email@address.com/role&pwd=password
  • To get citation matches for a given day:
https://oai.crossref.org/oai?verb=ListRecords&usr=email@address.com/role&pwd=password&set=J:10.5555:161845&from=2025-03-01&until=2025-03-01&metadataPrefix=cr_citedby&include_postedcontent=false

For Metadata Plus subscribers:

Use the following header and your API token: Crossref-Plus-API-Token: Bearer [FullTokenHere] in all requests.

  • To get a single metadata record:
https://oai.crossref.org/oai?verb=GetRecord&identifier=info:doi/10.1371%2Fjournal.pone.0021395
  • To get metadata for one journal on a given day:
https://oai.crossref.org/oai?verb=ListRecords&from=2025-03-07&until=2025-03-07&set=J:10.1371:60407

Details

Authentication

Members can access the DepositHarvester endpoint by including their username and role in the usr field and their password in the password field.

Metadata Plus subscribers can use the verbs GetRecord and ListRecords on the oai endpoint by including the following header with their requests:

Crossref-Plus-API-Token: Bearer [API token]

We allow 3 concurrent initial OAI-PMH requests per user. There is no concurrency limit for follow-on requests (requests made with a resumption token).

Data sources

The OAI API does not include all records, only those that appear in a journal, book, or series. For example, posted content (including preprints) are not included. To access all metadata, we recommend using the REST API.

Output format

Responses are in an XML format. The available formats can be retrieved by making the following requests:

https://oai.crossref.org/oai?verb=ListMetadataFormats

https://oai.crossref.org/DepositHarvester?verb=ListMetadataFormats

The supported formats are:

Understanding sets and verbs

Two understand how to make requests, there are two important concepts: sets and verbs. We explain these before giving the request parameters below.

Sets

Requests depend on the concept of a ‘set’, which is a journal, book, conference series, or other item that contains content items and has a publication ID. Each set has a type: J for journals, B for books, conference proceedings, dissertations, reports, and datasets, and S for series.

The format for the set field is: [set type]:[doi_prefix]:[pub id] where

  • Set type:, J, B, or S.
  • doi_prefix is the prefix of the DOI, e.g. 10.64000.
  • pub id is the [publication ID] of a set.

For example, J:10.1002:4 returns content in the journal Applied Organometallic Chemistry. The DOI prefix and publication ID are optional and can be omitted. If only the set is given, content in sets of the given type will be returned. If a set and a prefix are given, content matching the set and in the given prefix will be returned.

You can retrieve publication IDs from the title list. Click the ID logo next to the title in search results to see the ID.The UNIXSD output format also includes the journal-id (J) or book-id (B).

Verbs

The content of the response is defined by the verb parameter. Here is a summary of what each verb provides:

VerbAccessible byResponse
ListSetsAll usersList all sets included in the API.
ListIdentifiersAll usersA list of DOIs satisfying the request criteria.
ListMetadataFormatsAll usersA list of all metadata formats the API delivers.
GetRecordMembers (for their own content) and Metadata Plus subscribers (for all content)A single metadata record.
ListRecordsMembers (for their own content) and Metadata Plus subscribers (for all content)A list of metadata records satisfying the request criteria.
IdentifyAll usersProvides details about the endpoint.

Members can access information about their recent deposits using GetRecord and ListRecords with the DepositHarvester endpoint.

Endpoints

The base URL for requests is https://oai.crossref.org and there are two endpoints:

  • oai for general requests and retrieving metadata.
  • DepositHarveter for members to retrieve their deposited metadata.

OAI

The endpoint is located at https://oai.crossref.org/oai. The following parameters can be used with all verbs:

Parameter namePossible values (red) and examples (black)Description
usrexample@email.com/my_roleCrossref member email address and role. Required for metadataPrefix=cr_citedby.
pwdmy_passwordCrossref member password. Required for metadataPrefix=cr_citedby.
metadataPrefixcr_unixsd, cr_unixsd, cr_citedbyThe output format. cr_citedby returns forward links (for members only).
verbListSets, ListIdentifiers, ListMetadataFormats for metadata Plus subscribers: GetRecord, ListRecords, IdentifyThe type of request being made.

Additional parameters with the ListSets verb:

Parameter nameDescription
resumptionTokenFor large responses, use the resumptionToken in the previous response to retrieve the next page of responses. Note that the total number of items is also in the resumptionToken field of the response.

Additional parameters with the ListIdentifiers and ListRecords verbs:

Parameter namePossible values (red) and examples (black)Description
metadataPrefixcr_unixsd, cr_unixsd, cr_citedby (members only)The output format.
setS, B:10.64000, or J:10.1002:4.Set for the items. See above for an explanation. Used for ListIdentifiers and ListRecords
identifierinfo:doi/10.1101%2Fgr.3760605DOI for record to return (for verb=GetRecord only)
fromYYYY-MM-DDReturns records updated on or after this date.
untilYYYY-MM-DDReturns records updated on or before this date.
resumptionTokenFor large responses, use the resumptionToken in the previous response to retrieve the next page of responses. Note that the total number of items is also in the resumptionToken field of the response.
includePostedContentTrue, False (default)Only for members retrieving forward links. Includes forward links from posted content items, e.g. preprints.

Additional parameters with the GetRecord verb:

Parameter namePossible values (red) and examples (black)Description
identifierinfo:doi/10.1101%2Fgr.3760605DOI for record to return (for verb=GetRecord only)

DepositHarvester

The endpoint is located at https://oai.crossref.org/DepositHarvester and is available to Crossref members only. It takes the same arguments for ListRecords and GetRecord as the oai endpoint.

Using metadataPrefix=cr_citedby retrieves forward links, however we recommend using other methods to retrieve forward links because the OAI-PMH API does not contain all content items and therefore does not include all references.

Page maintainer: Martyn Rittman
Last updated: 2020-April-08