Perform a single search and return many results.
Crossref Metadata Search is backed by a full-text index whose search capabilities are exposed by this route. Search terms can be provided to this route along with arguments to paginate, order and filter results.
Search Terms and Pagination
GET /dois?q=renear+palmer&page=2&rows=3
In this example a search request has been made for the terms “renear” or “palmer,” while the results have been paginated by three results per page and the second page of results has been selected.
Sorting
Results can be sorted by relevence or year of publication. Relevence sorting orders results by their match quality. A result will have a higher match quality if its metadata matches more search terms relative to the total length of the record's metadata. Specify “sort=score” for relevence sorting.
GET /dois?q=renear+palmer&sort=score
Specify “sort=year” to order results by year of publication, beginning with the most recent.
GET /dois?q=renear+palmer&sort=year
Note that relevence sorting is used if no sort is specified.
Filtering
GET /dois?q=renear+palmer&year=2012
Results can be faceted on science category, year of publication, publication type, open access status and publication name. The example above will only return DOIs published in 2012.
Search for an Identifier
Provide a DOI, short DOI or ISSN as the query term to look up a single DOI record or return DOIs from a single journal.
GET /dois?q=1234-5678
An empty result list will be returned if a non-existent identifer is provided. Here's another example that selects a specific DOI. Notice the url encoding of the DOI.
GET /dois?q=10.5555%2F12345678
OpenSearch Response Headers
Meta information about search results can be included in /dois responses. Add a “header=true” parameter to any search query to see a response header that mimics OpenSearch response elements.
GET /dois?q=fishing&header=true
{
"totalResults": 6138,
"startIndex": 0,
"itemsPerPage": 20,
"query": {
"searchTerms": "fishing",
"startPage": 1
},
"items": [ ... ]
}
Match many free-form citations to DOIs.
Resolve citations to DOIs by POSTing a JSON list of free-form citations to this route.
POST /links [ "M. Henrion, D. J. Mortlock, D. J. Hand, and A. Gandy, \"A Bayesian approach to star-galaxy classification,\" Monthly Notices of the Royal Astronomical Society, vol. 412, no. 4, pp. 2286-2302, Apr. 2011.", "Renear 2012" ]
Be sure to mark the request's content type as JSON by specifying a Content-Type header in the request:
Content-Type: application/json
Citations must contain at least three words, those with less will not match. Citations with a low match score will be returned without a potential match. Here's a sample response:
{
"query_ok": true,
"results": [
{
"text": "...",
"match": true,
"doi": "10.1111/j.1365-2966.2010.18055.x",
"score": 5.6733
},
{
"text": "...",
"match": false,
"reason": "Too few terms"
}
]
}