VIII · 51
OpenURL FAQ
Short answers to the questions people most often ask about OpenURL, with links to the detailed pages.
What is OpenURL?
OpenURL is a NISO standard (ANSI/NISO Z39.88-2004) for putting a description of a cited item, such as an article, book or dissertation, into a URL. The URL points at a library's link resolver, which uses the description to send the reader to a copy the library can provide. See What is OpenURL?
What is a link resolver?
A link resolver is a library service that receives OpenURLs, checks the cited item against the library's knowledge base of subscriptions and holdings, and offers the reader full text, print holdings, interlibrary loan or other services. SFX, the Alma link resolver, 360 Link, EBSCO Full Text Finder and OCLC's WorldCat resolver are examples. See Link Resolvers.
What does "OpenURL 1.0" mean, and what is "OpenURL 10"?
OpenURL 1.0 is the common name for the standardised version, Z39.88-2004. Searches for "OpenURL 10" are almost always looking for 1.0. The earlier informal syntax from 2000 is called OpenURL 0.1. See OpenURL 0.1 vs 1.0.
Is OpenURL a NISO standard?
Yes. It is ANSI/NISO Z39.88-2004, The OpenURL Framework for Context-Sensitive Services, approved by ANSI on 15 April 2005 and reaffirmed on 13 May 2010. NISO offers the text as a free PDF. See The Z39.88-2004 Standard.
Is OpenURL the same as Z39.50?
No. Both are NISO standards with similar numbers, but Z39.50 is a protocol for searching and retrieving records from remote catalogues and databases, while Z39.88 (OpenURL) carries one citation to a service that offers links about it. A Z39.50 client asks "find records matching this query"; an OpenURL says "here is an item, what can you do for this user?"
Does the OpenURL system work in conjunction with Crossref?
Yes, in several ways. Crossref operates an OpenURL endpoint at doi.crossref.org/openurl that returns metadata for a DOI or matches citation metadata to a DOI; link resolvers use Crossref data to look up DOIs; and DOIs are routinely carried inside OpenURLs as rft_id=info:doi/…. Crossref was among the early adopters of OpenURL 0.1. See OpenURL & Crossref.
Who created OpenURL, and when?
Herbert Van de Sompel, Patrick Hochstenbach and Oren Beit-Arie, building on the SFX linking server developed at Ghent University (described in 1999). Their OpenURL syntax description is dated 16 May 2000. NISO Committee AX then developed the 1.0 standard from 2001. See Origins.
What is a ContextObject, and what does "Context object: ctx_ver=Z39.88-2004…" mean?
A ContextObject is the package of information an OpenURL carries: the cited item plus optional context. Strings that start with ctx_ver=Z39.88-2004 are ContextObjects in KEV form, often shown by catalogues, Credo Reference, VuFind or Zotero. Paste one into the parser to read it. See How to read a ContextObject string.
How do I find my library's OpenURL resolver URL?
Look in the library's help pages or Google Scholar's Library Links settings, run a test search in a library database and copy the address of a "Find it" link up to the question mark, or ask the e-resources team. See How to find your library's OpenURL resolver.
What is an OpenURL knowledge base?
It is the database a link resolver consults: which journals, books and packages the library has access to, on which platforms, for which years, plus local holdings and rules. Vendors maintain shared knowledge bases that libraries customise. Providers supply title lists in the NISO KBART format. See OpenURL & KBART.
What is Z3988?
Z3988 is the HTML class name used by COinS, the convention for embedding an OpenURL ContextObject in a web page as <span class="Z3988" title="ctx_ver=Z39.88-2004&…">. The name comes from the standard's designation. Wikipedia's citation templates emit these spans. See OpenURL & COinS.
How do I encode special characters in an OpenURL, for example in article titles?
URL-encode every value: letters, digits and . - * _ stay as they are, spaces become + or %20, and everything else is converted to UTF-8 bytes written as %XY. For example ? becomes %3F, & becomes %26, a comma %2C and é %C3%A9. Never leave a raw & or # inside a value. See Anatomy of an OpenURL.
Is openURL() in my code related to this standard?
Usually not. Functions called openURL or openUrl in iOS, macOS, Qt, Flutter or custom JavaScript simply open a web address. They share the name but have nothing to do with Z39.88. See openURL() in programming.
Is OpenURL an AI tool?
No. It is a URL syntax for citations, standardised in 2004–2005. It involves no AI.
Is OpenURL still maintained?
The standard (Z39.88-2004, reaffirmed 2010) remains a current NISO standard and is widely implemented. Its Registry of formats and profiles, run by OCLC, was frozen in 2022 and is preserved as a read-only copy. See Registry Deprecation.