Primo VE API results - interpretation of results, refining your query, constructing links back to HOLLIS

Primo VE API results - interpretation of results, refining your query, constructing links back to HOLLIS

We upgraded to Primo VE in March 2026, and some parameters for the API have changed. Notably, you must now use these parameter values:

  • vid=01HVD_INST:HVD2

  • scope=MyInst_and_CI

You can test these in the Apigee sandbox.

THIS PAGE HAS BEEN UPDATED TO REFLECT INFO FOR PRIMO VE. To see old Back Office API documentation visit https://harvardwiki.atlassian.net/wiki/spaces/LibraryStaffDoc/pages/708968449

 

This page is populated as questions about the API results are asked. If you don't see what you're looking for, please ask. Interpreting results can be complex, because the data can be complex. 

 

If you are using the Ex Libris Primo API tool in Harvard APIgee’s SANDBOX/Stage environment, and want to compare results to the HOLLIS UI, don't go to HOLLIS production. Instead, go to HOLLIS Sandbox at https://hvd-psb.primo.exlibrisgroup.com/discovery/search?vid=01HVD_INST:HVD2&lang=en

Format and send a HOLLIS Primo VE query through Harvard APIgee

Using the Primo API through Harvard APIgee: Instructions

General information on the search API from Ex Libris

https://developers.exlibrisgroup.com/primo/apis/search/

Required Harvard-specific parameters

  • vid=01HVD_INST:HVD2

  • tab=Everything

  • scope=MyInst_and_CI
    (These tab and scope values search “Catalog and Articles” in HOLLIS)

  • inst=01HVD_INST

To search the Library Catalog scope instead of Everything, use:

  • tab=LibraryCatalog

  • scope=MyInstitution

Note: additional parameters are needed to fully mimic the UI if you wish to include: non-fulltext CDI content, ‘search inside’ results, suggested search alternatives, etc. The best way to determine the parameters you need are to craft the search you want in HOLLIS, and then mimic those parameters in your API query.

Definitions of PNX elements you may encounter in each record

Notes

  • All data sources are converted from their original metadata schema into "Primo Normalized XML" or PNX records during ingest.

  • Some display values contain "$$Q" which is used to indicate that the subsequent string is used to construct a search URL for this field. 

  • Some elements contain limited HTML markup for display rendering

Display elements used in HOLLIS search results

  • display/title [Title]

  • display/vertitle [Vernacular title][Alma data only]

  • display/lds28 [Number of images][Image dataset only]

  • isplay/creator [Primary personal author]

  • display/lds82 [Primary corporate/conference author if no personal author present][Alma data only]

  • display/edition [Edition]

  • display/lds11 [Publisher][Alma data only]

  • display/lds19 [Series, formatted for brief result display][Alma data only]

  • display/ispartof [Host information for Article/Article-like records][CDI data only]

All elements

 

Linking back to a HOLLIS record

To construct a link to guide the user to a specific record in the HOLLIS UI, use the information below.

Note: to use a Harvard Library permalink in the id.lib.harvard.edu form (recommended for citations in LibGuides, wikipedia, etc.), which will persist through platform migrations, visit: Persistent links to HOLLIS records

Domain

Environment

Domain

Note

Environment

Domain

Note

VE sandbox, ExL hosted

hvd-psb.primo.exlibrisgroup.com

 

VE sandbox, Harvard domain

qa.hollis.harvard.edu

Only available after migration to VE spring 2026

VE production, ExL hosted

hvd.primo.exlibrisgroup.com

 

VE production, Harvard domain

hollis.harvard.edu

Only available after migration to VE spring 2026

Path and identifiers

Each item in “docs” is a HOLLIS record. You will need to evaluate these elements in order to construct a link to the record in the UI:

adaptor @id

The path in the permalink will vary based on which adaptor is present:

adaptor

path

adaptor

path

Local Search Engine

permalink/01HVD_INST/1vs5jgf/

Primo Central

permalink/01HVD_INST/k2rufo/

Complete the link by using the final value in the “@id” element, adding a prefix of “alma” to the identifier if the adaptor was ‘Local Search Engine.”

 

Local search engine example:

adaptor": "Local Search Engine", "@id": "https://na03-psb.alma.exlibrisgroup.com/primaws/rest/pub/pnxs/L/99158783974503941"

Permalink: https://hvd-psb.primo.exlibrisgroup.com/permalink/01HVD_INST/1vs5jgf/alma99158787432903941

 

CDI record example:

"adaptor": "Primo Central", @id": "https://na03-psb.alma.exlibrisgroup.com/primaws/rest/pub/pnxs/PC/cdi_unpaywall_primary_10_1016_j_applanim_2025_106819"

Permalink: https://hvd-psb.primo.exlibrisgroup.com/permalink/01HVD_INST/k2rufo/cdi_unpaywall_primary_10_1016_j_applanim_2025_106819

 

 

Refining your query

When performing queries in the UI, you can use browser developers tools to very how the query is sent to the API. This is because the Primo UI consumes the API. This will allow you to experiment with how searches in the UI can be sent to the API. In the example below, the Date Limit feature in the UI has been used. By using the developer tools, you can see how this was constructed when sent to the API. 

 

Vendor documentation is available at https://developers.exlibrisgroup.com/primo/apis/

To filter by DATE, you can use the parameter "&facet=searchcreationdate,include,DATE,TO,DATE" which is the qInclude parameter in the API. Example:

qInclude=facet_searchcreationdate,exact,%5B2020+TO+2025%5D

 


We don't have a way to export this macro.