Skip to main content
Back to Standards
Z39.50 Information Retrieval Protocol logo

Z39.50 Information Retrieval Protocol

Z39.50

A client-server application layer protocol for searching and retrieving information from remote databases. Developed as an American National Standard (ANSI/NISO Z39.50) and later adopted internationally as ISO 23950, the protocol has been fundamental to library information retrieval for decades, enabling cross-system searching of bibliographic catalogs, union databases, and other structured information repositories.

Overview

Z39.50 is one of the foundational protocols of library information technology, enabling standardized search and retrieval of records across heterogeneous remote databases. For decades it has been the primary means by which library systems communicate with each other to support union catalog searching, interlibrary loan, and cooperative cataloging. While newer web-based protocols like SRU have emerged, Z39.50 remains deeply embedded in library infrastructure worldwide.

Background

The origins of Z39.50 trace back to the 1970s when the Library of Congress and other institutions began exploring ways to standardize information retrieval across different computer systems. The first version of the standard was published by NISO (National Information Standards Organization) in 1988 as ANSI/NISO Z39.50-1988. This initial version was relatively simple, but subsequent revisions in 1992 (version 2) and 1995 (version 3) greatly expanded the protocol's capabilities. In 1997, the protocol was adopted internationally as ISO 23950. The Library of Congress serves as the Z39.50 Maintenance Agency, coordinating ongoing development and registration of profiles and attribute sets.

Purpose & Scope

Z39.50 defines a client-server protocol at the application layer that allows a client (called an "origin") to search and retrieve records from a server (called a "target"). The protocol is session-based and supports a range of services:

Service Description
Init Establish a session between origin and target
Search Submit a query using a standardized query language
Present Retrieve records from a result set
Scan Browse an ordered list of terms (e.g., an index)
Sort Reorder a result set
Extended Services Administrative operations such as saving result sets or creating database records

Queries use attribute sets to specify the meaning of search terms. The most widely used is the Bib-1 attribute set, which defines attributes for bibliographic searching including use attributes (title, author, subject), structure attributes, and relation attributes.

Key Elements / Properties

Z39.50 is a protocol rather than a metadata schema, so it does not define elements in the traditional sense. Instead, it defines:

  • Attribute sets that specify how search terms are interpreted (Bib-1, GILS, STAS, etc.)
  • Record syntaxes that define the format of retrieved records (MARC, SUTRS, GRS-1, XML, OPAC)
  • Diagnostic sets that standardize error reporting
  • Object identifiers (OIDs) that uniquely identify each protocol component

Serializations & Technical Formats

Z39.50 uses ASN.1 (Abstract Syntax Notation One) for its protocol data units and BER (Basic Encoding Rules) for encoding messages on the wire. Records retrieved through Z39.50 can be in any registered record syntax, though MARC (both USMARC/MARC 21 and UNIMARC) and XML are the most common. The protocol operates over TCP/IP, typically on port 210.

Governance & Maintenance

The Library of Congress serves as the Z39.50 Maintenance Agency, responsible for maintaining the standard, registering attribute sets and record syntaxes, and coordinating the Z39.50 Implementors Group (ZIG). NISO is the official standards body for the US national standard, while ISO maintains the international version as ISO 23950. The ZIG meets regularly to discuss implementation issues and propose extensions.

Notable Implementations

Z39.50 has been implemented in virtually every major integrated library system (ILS), including Ex Libris Aleph and Alma, SirsiDynix Symphony, Innovative Interfaces Sierra, and the open-source Koha and Evergreen systems. OCLC's WorldCat and many national library catalogs are accessible via Z39.50. The protocol is also used beyond libraries in government information systems (through the GILS profile) and geospatial metadata systems. IndexData's YAZ toolkit is a widely used open-source implementation of the protocol.

Related Standards

  • SRU (Search/Retrieve via URL) -- A web-based search protocol developed as a companion and successor to Z39.50, using HTTP and XML rather than ASN.1/BER.
  • CQL (Contextual Query Language) -- A human-readable query language used with SRU and also applicable to Z39.50 contexts.
  • MARC 21 -- The most common record syntax used for bibliographic data retrieved via Z39.50.

Further Reading