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_managepermission 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
- Log in to Koha staff interface
- Navigate to Administration → Z39.50/SRU servers
- 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:
- Server name: Library of Congress
- Hostname: lx2.loc.gov
- Port: 210
- Database name: LCDB
- User ID: (leave blank - public access)
- Password: (leave blank)
- Checked: ✓ (enable for searches)
- Rank: 1 (search priority)
- Syntax: MARC21
- Encoding: MARC-8
- Timeout: 30
- 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
- Go to Cataloging → New record
- Click New from Z39.50/SRU
- Enter search terms (ISBN, title, or author)
- Select servers to search
- Click Search
If configured correctly, you should see search results from your configured servers.
5. Import MARC Records
When you find the right record:
- Click Actions → Import
- Review the imported MARC record
- Add local fields (call number, barcode, etc.)
- 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
- Start with ISBN: Most accurate for finding exact matches
- Use Library of Congress: Generally most complete records
- Search multiple sources: Compare quality if multiple matches
- 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:
- Export ISBNs from your current system
- Use Koha’s batch import tool with Z39.50
- Review and match records
- Complete import process
Integration with Cataloging Workflow
- New acquisitions: Search Z39.50 before manual cataloging
- Quality control: Compare local records against LOC
- Authority control: Use Z39.50 for authority records too
- 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.