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 packing a citation into a URL so that a library's link resolver can send the reader to a copy they are actually allowed to read. Instead of a hard-coded link to one publisher's website, a database, catalogue or reference list emits a URL that points at the reader's own institutional link resolver and carries a structured description of the item: article title, journal, author, volume, pages, DOI and so on. The resolver checks what the library subscribes to and forwards the reader to full text, a print holding, or an interlibrary-loan form.
The idea came out of the SFX linking server built at Ghent University in the late 1990s. An informal syntax published in May 2000 (now called OpenURL 0.1) was adopted quickly by databases and publishers; NISO then generalised it into the OpenURL Framework, approved by ANSI on 15 April 2005 under the designation Z39.88-2004 and reaffirmed in 2010. That version is commonly called OpenURL 1.0.
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 relies on interlibrary loan. A single hard-coded link in the database cannot serve all four readers correctly. Each reader needs to be sent to the copy their institution can actually grant access to. The standard's own foreword calls this 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 puts the citation into the query string. The resolver consults the library's knowledge base of subscriptions and licences, then redirects the reader to the right full-text source, or offers a menu of options such as the catalogue, a document-delivery form or a citation export.
What an OpenURL looks like
An OpenURL is an ordinary HTTP(S) URL. The part before the ? is the resolver's base URL; the query string carries the citation as key/value pairs. Here is a short OpenURL 1.0 for a journal article identified by its DOI (line breaks added for readability):
https://resolver.example.edu/openurl?
url_ver=Z39.88-2004
&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
Read from top to bottom: the OpenURL version (url_ver), the ContextObject version (ctx_ver), the metadata format of the cited item ("journal"), the item's identifier (a DOI), and the identifier of the database that produced the link (rfr_id). Add descriptive fields such as rft.atitle, rft.jtitle, rft.aulast, rft.volume and rft.spage, and a resolver can find the article even when no DOI is known. See Anatomy of an OpenURL for every part explained.
The role of link resolvers
A link resolver is a service run by a library, a consortium, or a vendor on the library's behalf. It accepts incoming OpenURLs, parses the citation, matches it against a knowledge base of holdings, subscriptions and open-access sources, and presents the reader with delivery options. Products in use today include Ex Libris SFX and the Alma link resolver, 360 Link, EBSCO Full Text Finder and OCLC's WorldCat Discovery resolver. See Link Resolvers for a fuller treatment, and How to find your library's OpenURL resolver if you need your institution's base URL.
Quick answers
- Is OpenURL a website or a piece of software?
- Neither. It is a NISO standard that describes how citation data is written into a URL. Many products implement it.
- Is OpenURL the same as a DOI?
- No. A DOI identifies a work; an OpenURL carries a description of a work (which may include its DOI) to a context-aware service. See OpenURL & DOI.
- Is OpenURL the same as Z39.50?
- No. Z39.50 is a separate NISO standard for searching remote catalogues and databases. OpenURL does not search anything; it links one citation to services about it.
- Is OpenURL an AI tool?
- No. It predates current AI systems and is a plain URL syntax.
More in the OpenURL FAQ.
Where to go next
- To see an OpenURL pulled apart piece by piece, read Anatomy of an OpenURL.
- To decode an OpenURL or a "Context object: ctx_ver=…" string you have been given, use the parser or read How to read a ContextObject string.
- For the abstract object that an OpenURL carries, read The ContextObject.
- For working examples you can copy, see Journal Article by DOI.