Skip to content

omnischolar/crossref API reference

Floor
Provider · Omnischolar
Version
1.x
Conformance suite
not wired
Verified for real
Its README does not say
Licence
MIT
composer require omnischolar/crossref:1.x-dev

Read from the package's own PHP files at the commit 66e2f44b5ee9: its namespaces, classes, interfaces and enums, their public constants, properties and methods with their PHPDoc, and the options its factories take. Nothing of it is run.

Omnischolar\Crossref

  • CrossrefSource class

    Crossref (api.crossref.org, no key): the reference metadata of any work with a Crossref DOI - title, authors and their ORCIDs, journal or book, volume, pages, publisher, ISBNs, licence, the citation count Crossref knows - the works an ORCID was deposited with, and a bibliographic search.

    6 methods · 3 constants

  • CrossrefSourceFactory class

    Crossref: reference metadata by DOI, works by ORCID, bibliographic search - no key.

    1 option

Omnischolar\Crossref

CrossrefSource class

final class CrossrefSource extends HttpSource CrossrefSource.php:29

Crossref (api.crossref.org, no key): the reference metadata of any work with a Crossref DOI - title, authors and their ORCIDs, journal or book, volume, pages, publisher, ISBNs, licence, the citation count Crossref knows - the works an ORCID was deposited with, and a bibliographic search.

Crossref has no author profiles. The mailto puts the calls in its "polite" pool (3 a second, as of 2026); without it, the public pool.

const BASE_URI = 'https://api.crossref.org/'
const MAX_ROWS = 1000

The most rows Crossref serves per page.

const MAX_OFFSET = 10000

The deepest offset Crossref pages to (its cursors do not sort by date).

CrossrefSource::__construct()

public function __construct(HttpClientInterface $http, readonly ?string $mailto = null, string $baseUri = self::BASE_URI, array $headers = [], float $throttle = 0.0)

CrossrefSource::getName()

public function getName(): string

CrossrefSource::capabilities()

public function capabilities(): array

CrossrefSource::works()

public function works(Identifier|string $author, ?Query $query = null): Page

The works deposited with an ORCID; or, by a name, those whose authors include that name (Crossref's author query is fuzzy: its answers are kept only when one of their authors has the family name and the first initial asked, and they come by relevance).

CrossrefSource::work()

public function work(Identifier|string $id): ?Work
public function search(Query $query): Page

CrossrefSourceFactory class

final class CrossrefSourceFactory extends SourceFactory CrossrefSourceFactory.php:18

Crossref: reference metadata by DOI, works by ORCID, bibliographic search - no key.

options: mailto: 'support@glitchr.io' # sent with every call and in the User-Agent: Crossref's polite pool base_uri: 'https://api.crossref.org/' throttle: 0 # seconds between two calls

Options

OptionDefault
base_uriCrossrefSource::BASE_URI