OpenURL Resolving

Discovery systems provide the UI for Alma Link Resolver services for searches that were initiated in an outside bibliographic database (such as EBSCO, Google Scholar, etc.). This page usually contains the bibliographic information of the resource, as well as  the record’s services (such as access to full text).

There are two options for implementing a user interface for OpenURL resolving:

  • Using the build-in services page (eligible for customers with a subscription to an Ex Libris discovery product), or
  • Using the XML response of the Alma link resolver to build a custom user interface.

The focus of this article is on implementing OpenURL resolving using the services page. For more information on implementing a custom UI for link resolving, see the OpenURL XML Response page.

Link resolving is done based on the OpenURL standard.. The Discovery system receives an OpenURL request from an outside bibliographic database (such as EBSCO, Google Scholar, etc.). Typically, the OpenURL includes the following:

  • rfr_id – indication about the original source in which the resource was requested (e.g. google)
  • Context object – i.e. metadata identifying the record

The Discovery system should forward the OpenURL request to Alma. Alma tries to find a matching record: If multiple titles are found, Alma tries to de-dup them. If there are multiple titles, Alma selects “the best” match.

The following table describes the parameters that should be sent as part of the Request for Services OpenURL:

Parameter nameDescription
rfr_idThe original source – the rfr_id of the request from the outside bibliographic database (e.g. google)
sidThe original source – the rfr_id of the request from the outside bibliographic database (e.g. google)
user_ipIP of the user which originated the request
Context objectmetadata identifying the record, as received
rft.mms_idSpecific MMS ID (if known)

See example in Alma guest sandbox.

Services page based on MMS ID

If you are building the OpenURL based on the mms ID of the Alma record you will need to pass rft.mms_id=<mms_id>.

If this parameter is passed the Alma ID will be used in building the service page and additional metadata, if set, will be ignored.

Note: If you are working in an environment with a Network Zone you should build the OpenURL with rft.mms_id=<iz_mms_id>&rft.mms_id=<nz_mms_id>. This will make sure that the service page retrieves all the services for the record in both the institution zone and the network zone.  When publishing records from the institution zone to the discovery the Network Zone mms ID will be in the published record in the 035 field subfield a with the prefix (EXLNZ-NETWORK_ZONE_CODE).


Base URL


Where the base URL includes the following elements:

  • Alma_domain – Specify the domain for your Alma’s server
  • Alma_institution_code – Specify the institution code defined in Alma
  • view_code – Specify the code that is defined for your view. The default view is <institution code>:AlmaGeneralView

For example:

For more information on services page configuration, see Alma OLH:

Note: If you do not have the “Discovery” menu in Alma, use the default view: <institution code>:AlmaGeneralView

Customization of this view can be done in Configuration > General > User Interface Settings > Alma Viewer and Deposit Customization.

Institutions that want to receive an XML version of the available services should follow the instructions here.

Important Note: The OpenURL integration is intended for integrating Alma with third party discovery systems. Using it for other workflows is not supported.