1 of 13

Holdings at a Glance:

OCLC API + Alma for Data-driven

Weeding

2025 eCAUG

2 of 13

Agenda

    • Project background
    • Trial and error
    • Key improvements
    • Ideas for future weeding workflows

3 of 13

How we started

ExcelAlmaLookup tool

This tool uses OCLC’s Z39.50 service to retrieve a list of institutions that have set holdings for the titles.

We counted the number of institutions to determine how many holdings were set for the titles, but the tool has some limitations.

Reqeuest from a liaison librarian

The Architecture and Fine Arts librarian asked if it was possible to add OCLC holding counts to the list of titles she was reviewing for withdrawal.

4 of 13

First time using OCLC API

    • First time using the WorldCat API — the OCLC API Community offers helpful recordings and documentation.

    • Prepared the OCLC token in Postman to test the API and debug the connection.

Python script &

OCLC API

5 of 13

OCLC API works but expires every 20 minutes..

Tried a Python script and was able to retrieve the holding count, but it only ran for 20 minutes since the WorldCat Search API v2 token expires every 20 minutes.

Python script &

OCLC API

6 of 13

Refresh token automatically

    • Learned about a Python script written by Ron Chesko at Western Washington University.

    • This script automatically refreshes the token before it expires.

Python script &

OCLC API

7 of 13

Import the data to Alma

    • Prepared the data in Excel spreadsheet
    • 916 $a: OCLC Holding count
    • 916 $c: dates of the import

8 of 13

Import the data to Alma

    • Import profile
      • Excel format
      • Match Method: 001 (MMS ID)
      • Merge method: Add 916
    • Expanded by adding holding counts to our Holocaust Collection.

9 of 13

Can we use this for our future weeding project?

Context:

    • We were planning a large-scale weeding project for one of our libraries (Grand Library, ~1 million titles).
    • We wanted to see if the OCLC holding count could be used as one of the weeding factors, along with:
      • Overlaps with print and electronic (P&E) titles
      • Duplicate copies
      • Usage statistics

Steps:

    • Create a report for the target library that includes records with OCLC numbers, excluding any retention titles (SCELC, Special Collections, and Archives) to get a clean set of candidates.
    • Run an Overlap Analysis (ISBN, ISSN, and normalized titles) to identify duplicate copies and remove them from the set.
    • Run the Python script to retrieve OCLC holding counts.
    • Import the data into Alma.
    • Run an Analytics report (using field 916 as a local parameter) and share the results with the Head of Collection Development.

10 of 13

Records in Alma

View in Analytics

11 of 13

Things to keep in mind

    • Not a perfect process, but improving
    • ExcelAlmaLookupTool (Beta) now includes “Holdings count”
    • Be aware of OCLC API limits--daily (50,000) and monthly limit
    • Some counts auto-populate via SearchExternal in MDE (added to 948 at USC)

    • Further idea:
      • Automatic updates in Alma
      • possibility of combining data from differet sources
        • SCELC SRU
        • Big Ten Academic Alliance (BTAA)-no support of API, Z39.50 or SRU
        • Any idea or suggestion?

12 of 13

Helpful links

    • OCLC APIs Community

13 of 13

Questions?

Minyoung Chung

Cataloger, Monographs and Special Projects

Unversity of Southern California (USC)

mchung94@usc.edu