Z39.50 is a powerful protocol that allows libraries to search and import MARC records from other library catalogs. This guide shows you how to configure Z39.50 servers in Koha to enable efficient copy cataloging.

What is Z39.50?

Z39.50 is a client-server protocol for searching and retrieving information from remote databases. In library terms, it allows you to:

  • Search major library databases (Library of Congress, WorldCat, etc.)
  • Import existing MARC records instead of creating from scratch
  • Reduce cataloging time by 80-90%
  • Maintain quality through standardized records

Learn more: What is Z39.50 and Why is it Important?

Prerequisites

Before adding Z39.50 servers, ensure you have:

  • Staff permission: parameters_manage permission in Koha
  • Server details: Target hostname, port, database name
  • Authentication (if required): Username and password
  • MARC format: Know whether you’re using MARC21 or UNIMARC

Step-by-Step Configuration

1. Access Z39.50/SRU Server Administration

  1. Log in to Koha staff interface
  2. Navigate to AdministrationZ39.50/SRU servers
  3. Click New Z39.50 server

2. Configure Library of Congress

The Library of Congress is one of the most valuable Z39.50 sources for cataloging.

Server Details:

Hostname: lx2.loc.gov
Port: 210
Database: LCDB
Syntax: MARC21
Encoding: MARC-8

Configuration Steps:

  1. Server name: Library of Congress
  2. Hostname: lx2.loc.gov
  3. Port: 210
  4. Database name: LCDB
  5. User ID: (leave blank - public access)
  6. Password: (leave blank)
  7. Checked: ✓ (enable for searches)
  8. Rank: 1 (search priority)
  9. Syntax: MARC21
  10. Encoding: MARC-8
  11. Timeout: 30
  12. Record type: Authority or Bibliographic

Click Save to add the server.

3. Add Additional Z39.50 Servers

Here are recommended servers for comprehensive cataloging:

WorldCat (OCLC)

Hostname: zcat.oclc.org
Port: 210
Database: OLUCWorldCat
Syntax: MARC21
Encoding: UTF-8
Note: May require OCLC membership for full access

British Library

Hostname: z3950cat.bl.uk
Port: 9909
Database: BLAC
Syntax: USMARC
Encoding: MARC-8

National Library of Australia

Hostname: z3950.nla.gov.au
Port: 7090
Database: Voyager
Syntax: USMARC
Encoding: MARC-8

Yale University Library

Hostname: z3950.library.yale.edu
Port: 7090
Database: Voyager
Syntax: MARC21
Encoding: UTF-8

See our complete Z39.50 Server Directory for more options.

4. Test Your Configuration

  1. Go to CatalogingNew record
  2. Click New from Z39.50/SRU
  3. Enter search terms (ISBN, title, or author)
  4. Select servers to search
  5. Click Search

If configured correctly, you should see search results from your configured servers.

5. Import MARC Records

When you find the right record:

  1. Click ActionsImport
  2. Review the imported MARC record
  3. Add local fields (call number, barcode, etc.)
  4. Save the record

The full bibliographic record is now in your catalog!

Troubleshooting Common Issues

Connection Timeout

Problem: “Connection timed out” error message

Solutions:

  • Verify hostname and port are correct
  • Check firewall isn’t blocking port 210
  • Increase timeout value to 60 seconds
  • Confirm server is online (some have maintenance windows)

Authentication Errors

Problem: “Access denied” or authentication failures

Solutions:

  • Verify username/password if required
  • Check if server requires institutional access
  • Confirm database name is correct
  • Try without authentication first (many are public)

No Results Found

Problem: Search returns zero results

Solutions:

  • Try different search terms (ISBN is most reliable)
  • Check syntax setting (MARC21 vs UNIMARC)
  • Verify encoding matches server requirements
  • Test with broader search terms

Incorrect Character Encoding

Problem: Special characters display incorrectly

Solutions:

  • Change encoding from MARC-8 to UTF-8 (or vice versa)
  • Check server documentation for correct encoding
  • Test with records containing special characters

Best Practices

Search Strategy

  1. Start with ISBN: Most accurate for finding exact matches
  2. Use Library of Congress: Generally most complete records
  3. Search multiple sources: Compare quality if multiple matches
  4. Verify before importing: Check accuracy of imported data

Server Priority

Configure Rank to prioritize servers:

  • Rank 1: Library of Congress (highest quality)
  • Rank 2: WorldCat (comprehensive coverage)
  • Rank 3: National libraries
  • Rank 4: Academic libraries

Performance Optimization

  • Don’t enable all servers: Only configure servers you regularly use
  • Set reasonable timeouts: 30-60 seconds is usually sufficient
  • Test connection periodically: Servers change, verify annually
  • Document access credentials: Note any required authentication

Advanced Configuration

SRU Servers

SRU (Search/Retrieve via URL) is the modern successor to Z39.50. Configure similarly but using HTTP/HTTPS.

Example SRU server:

Hostname: sru.k10plus.de
Port: 80
Database: opac-de-627
Protocol: SRU

Batch Z39.50 Import

For large migrations:

  1. Export ISBNs from your current system
  2. Use Koha’s batch import tool with Z39.50
  3. Review and match records
  4. Complete import process

Integration with Cataloging Workflow

  1. New acquisitions: Search Z39.50 before manual cataloging
  2. Quality control: Compare local records against LOC
  3. Authority control: Use Z39.50 for authority records too
  4. Retrospective conversion: Import historical records efficiently

Training Your Staff

Train catalogers to:

  • ✓ Search Z39.50 before creating new records
  • ✓ Verify imported data accuracy
  • ✓ Add required local fields
  • ✓ Choose highest quality source
  • ✓ Report connection issues promptly

Further Resources

Need Help?

Our cataloging experts can help you:

  • Configure Z39.50 servers for your specific needs
  • Set up batch import workflows
  • Train staff on copy cataloging
  • Troubleshoot connection issues

Contact us for professional cataloging support.


Time Savings: Libraries using Z39.50 effectively report 80-90% reduction in cataloging time for common materials. The initial setup investment pays dividends immediately.