For LDAP servers to be of any use, there must be clients to interact with them. There is already a wide range of open source and proprietary LDAP-enabled software, but organizations using an LDAP server to store data often want to write their own applications tailored specifically to their use of that data. Fortunately, there are LDAP client libraries for just about all of the most popular programming languages out there. And even if there isn’t any LDAP API for the language that you want to use, there’s a good chance that the language provides some mechanism for calling out to a library written in another language.

This page provides a list of some of the LDAP libraries that are available for the most popular programming languages. It is not necessarily comprehensive, and it’s likely the case that not all of the libraries have the same level of quality, so you should probably do your own research before starting on a new LDAP-enabled application.

Editor’s note: I am the creator of the UnboundID LDAP SDK for Java and have been its lead developer since its creation. Since I would obviously be biased, and since I want this site to be as neutral as possible to promote the use of LDAP in general, I will avoid any attempt at ranking or assessing the quality of any of these implementations. Instead, they will be listed in alphabetical order.

If you have any suggestions for other client APIs to include on this page, please email them to

  • Ada
  • C++
  • Clojure
    • clj-ldap (wraps the UnboundID LDAP SDK for Java)
  • Lua
    • LuaLDAP (a Lua binding to the OpenLDAP API
  • Prolog
    • ldap4pl (Prolog binding to the OpenLDAP API)
  • Scala
    • ist-dsi/ldap (wraps ldaptive and the UnboundID LDAP SDK for Java)
    • Scala-LDAP (wraps the UnboundID LDAP SDK for Java)