Advanced Customizations of the CONTENTdm Website

With CONTENTdm, you can integrate and implement deep customizations, such as custom viewers, layouts, mobile, and so on.

Before you customize

Before investing in programming customizations, become familiar with the configurations you can set in the Website Configuration Tool. Often the behavior you wish to customize will be an option in the tool. Then consider how you might use JavaScript custom scripts to accomplish your goals. You may also want to contact OCLC to find out if there are any plans to add something similar to your customization into the standard website.

User Community

While working on your custom scripts, whether or not they use the API, you may have programming questions.  Other users may have already found answers or have suggestions for you.  Maybe your customization is one that other users could adopt or adapt.  OCLC encourages users to share their questions and accomplishments with the CONTENTdm user community.  The best way to do this is to post to the discussion boards on the CONTENTdm Community Center. (Note that this requires a login.)  You’ll be amazed at how helpful the CONTENTdm community can be!


The Web-based CONTENTdm API provides calls to get data from the CONTENTdm Server for use in customizing your CONTENTdm Website. All calls used by the website are documented within the CONTENTdm API.

Deep customizations using the CONTENTdm API require familiarity with writing PHP (we recommend using the Zend Framework).

By using the CONTENTdm API, you imply agreement with the following terms of use:

  1. The CONTENTdm API is proprietary information and should not be distributed beyond employees and/or contractors of your organization without the express written permission of OCLC.
  2. OCLC reserves the right to change these Terms of Use and/or the API at any time and cannot guarantee that code or changes you've made based on the current API will work with future versions of CONTENTdm.
  3. Development work done using the API is not officially supported by OCLC. Support staff will make an effort to answer questions but support assistance is limited and at the discretion of OCLC.
  4. OCLC expects users who work with the API to openly and freely share their expertise and code with the CONTENTdm user community via the forums, conference presentations, documentation, and product feedback.
  5. The CONTENTdm API may not be used for any commercial purposes, including, but not limited to, sale or resale of the API, or use of the API as part of or to facilitate or enhance a fee-based service. OCLC reserves the right to refuse, limit, or discontinue access to the CONTENTdm API at any time in OCLC’s sole discretion.

Note: There is a one-to-one correspondence to CONTENTdm 5 API calls except for some added calls for version 6. The CONTENTdm 6 API is accessed via a light Web layer on top of the API.

Support for the API

OCLC fully supports the CONTENTdm API, but does not support your custom programming.  If you believe that the API is returning incorrect results, then please contact Support.  If you can’t figure out how to add a customization or are having trouble getting your customization to work, Support will have limited ability to help you.  For more information, see the Customization Support Policy. 

Learn more:


We wish to acknowledge and thank Simon Fraser University and Athabasca University for sharing their work on the Web-based CONTENTdm API.