Z39.50 je protokol klientského serveru pro vyhledávání a získávání informací ze vzdálených počítačových databází. Vztahuje se na něj norma ANSI/NISO Z39.50 a norma ISO 23950. Agenturou pro údržbu normy je Library of Congress.
Z39.50 je široce využíván v knihovních prostředích a je často integrován do integrovaných knihovních systémů a osobního Bibliografického referenčního softwaru. Meziknihovní vyhledávání katalogů pro meziknihovní výpůjčku je často realizováno pomocí dotazů Z39.50.
Práce na protokolu Z39.50 začala v 70. letech a vedla k postupným verzím v letech 1988, 1992 a 1995. Podporuje řadu akcí, včetně vyhledávání, vyhledávání, řazení a procházení. Vyhledávání je vyjádřeno pomocí atributů, typicky ze sady atributů bib-1.
V praxi je však funkční složitost omezena nerovnoměrnými implementacemi vývojářů a komerčních prodejců. Syntaxe Z39.50 je abstrahována od základní struktury databáze; například pokud klient zadá vyhledávání autora (atribut Use 1003), je na serveru, aby určil, jak toto vyhledávání namapovat na indexy, které má k dispozici. To umožňuje, aby dotazy Z39.50 byly formulovány, aniž by museli vědět cokoliv o cílové databázi; ale také to znamená, že výsledky pro stejný dotaz se mohou mezi různými servery značně lišit. Jeden server může mít index autora; jiný může používat svůj index osobních jmen, ať už jsou autory nebo ne; jiný nemusí mít vhodný index a může se vrátit ke svému indexu klíčových slov; a jiný nemusí mít vhodný index a vrátit chybu.
Pokusem o nápravu této situace je Bath Profile (pojmenovaný podle anglického Bathu, kde se pracovní skupina poprvé sešla v roce 1999). Tento dokument rigidně specifikuje přesnou syntaxi vyhledávání, kterou je třeba použít pro běžné bibliografické vyhledávání, a očekávané chování serverů vyhovujících Bathu v reakci na toto vyhledávání. Implementace Bath Profile byla pomalá, ale postupně zlepšuje krajinu Z39.50. Bath Profile spravuje Library and Archives Canada.
Z39.50 je technologie z doby před webem a různé pracovní skupiny se ji pokoušejí aktualizovat, aby lépe zapadla do moderního prostředí. Tyto pokusy spadají pod označení ZING (Z39.50 International: Next Generation) a sledují různé strategie. Nejdůležitější jsou dva protokoly SRU/SRW, které upouštějí od komunikačního protokolu Z39.50 (nahrazují ho HTTP), ale snaží se zachovat výhody syntaxe dotazu. SRU je založen na REST a umožňuje vyjadřovat dotazy v URL řetězcích dotazu; SRW používá SOAP. Oba očekávají, že výsledky hledání budou vráceny jako XML. Vzhledem k tomu, že tyto projekty umožňují relativně malému trhu s knihovním softwarem těžit z nástrojů webových služeb vyvinutých pro mnohem větší trhy, mají pro vývojáře mnohem menší bariéru vstupu než původní protokol Z39.50.