I · 01
What is OpenURL?
A URL-based mechanism for carrying citations and resource descriptions, so that the user's own library — not the publisher's link — decides which copy they receive.
OpenURL is a standard, ANSI/NISO Z39.88-2004, for encoding a citation or resource description inside a URL together with information about the context of the request. A database, a publisher's reference list, or a Wikipedia citation hands the user not a hardcoded link to a single copy of a paper, but a structured description of what they want. That description is sent to the user's institutional link resolver, which figures out which copy the user can actually reach and forwards them there.
The standard was developed under NISO and approved in 2004, then reaffirmed in 2010. It generalizes an earlier informal scheme — sometimes called OpenURL 0.1 — into a framework for any resource type, not only journal articles.
The problem OpenURL solves
A reader at one university clicks a citation from a bibliographic database. Their library subscribes to the journal through one aggregator; another library subscribes through a different aggregator; a third has only print holdings; a fourth has an interlibrary-loan service. A single hardcoded link in the database cannot serve all four readers correctly. The reader needs to be sent to the copy their institution can actually grant access to. This is the appropriate-copy problem.
OpenURL solves it by separating the citation from the destination. The database emits a URL pointing at the reader's own link resolver and packs the citation into the query string. The resolver consults the library's knowledge base of subscriptions and licences, then redirects the reader to the correct full-text source — or to a request form, or to the catalogue, depending on what is available.
The shape of an OpenURL
An OpenURL is an ordinary HTTP URL. The path identifies the resolver; the query string carries the citation in a structured form. Below is a minimal OpenURL describing a single journal article by its DOI:
https://resolver.example.edu/openurl?
ctx_ver=Z39.88-2004
&rft_val_fmt=info:ofi/fmt:kev:mtx:journal
&rft_id=info:doi/10.1103/PhysRev.47.777
&rfr_id=info:sid/example.com:database
The four parameters carry, respectively: the version of the standard in use; the format identifier saying "this is journal-article metadata"; the identifier of the article itself; and an identifier for the database that emitted the URL. Replace the values with descriptive fields — article title, journal title, author, year, volume, issue, pages — and the resolver can locate the article even when no DOI is known.
The role of link resolvers
A link resolver is a service operated by a library (or a library consortium) that accepts incoming OpenURLs, parses the citation, and decides what to do with it. The resolver matches the citation against the library's knowledge base of holdings, subscriptions, and open-access sources, and presents the reader with one or more delivery options: a link to the full text, a request form, a catalogue entry, an interlibrary-loan submission. The resolver is the institution's gatekeeper for context-sensitive linking.
See Link Resolvers for a fuller treatment, including the major commercial and open-source products in use today.
Where to go next
- To see an OpenURL pulled apart piece by piece, read Anatomy of an OpenURL.
- For the abstract object that an OpenURL carries, read The ContextObject.
- For the standard itself, read The Z39.88-2004 Standard.
- For working examples you can copy, see Journal Article by DOI.