Creating a Scholarly API Cookbook: Supporting Library Users with Programmatic Access to Information
DOI:
https://doi.org/10.29173/istl2766Keywords:
Application Programming Interface (API), Programmatic access, Z39.50, Machine-readable, Tutorial, JupyterAbstract
Scholarly web-based application programming interfaces (APIs) allow users to interact with information and data programmatically. Interacting with information programmatically allows users to create advanced information query workflows and quickly access machine-readable data for downstream computations. With the growing availability of scholarly APIs from open and commercial library databases, supporting access to information via an API has become a key support area for research data services in libraries. This article describes our efforts with supporting API access through the development of an online Scholarly API Cookbook. The Cookbook contains code recipes (i.e., tutorials) for getting started with 10 different scholarly APIs, including for example, Scopus, World Bank, and PubMed. API tutorials are available in Python, Bash, Matlab, and Mathematica. A tutorial for interacting with library catalog data programmatically via Z39.50 is also included, as traditional library catalog metadata is rarely available via an API. In addition to describing the Scholarly API Cookbook content, we discuss our experiences building a student research data services programming team, challenges we encountered, and ideas to improve the Cookbook. The University of Alabama Libraries Scholarly API Cookbook is freely available and hosted on GitHub. All code within the API Cookbook is licensed with the permissive MIT license, and as a result, users are free to reuse and adapt the code in their teaching and research.
Downloads
References
BCDS | DS Learn: REST API. (2022). Boston College Libraries Digital Scholarship Group. https://bcds.gitbook.io/learn/tutorials/rest-api
Boston College Libraries. (2023). US data and statistics sources: APIs for scholarly resources. https://libguides.bc.edu/c.php?g=43963&p=8347274
Chen, H., Li, X., Chau, M., Ho, Y.-J., & Tseng, C. (2009). Using open web APIs in teaching web mining. IEEE Transactions on Education, 52(4), 482–490. https://doi.org/10.1109/TE.2008.930509
Data Ethics Framework Development Team. (n.d.) Federal data strategy, Data ethics framework. General Services Administration. https://resources.data.gov/assets/documents/fds-data-ethics-framework.pdf
East, J. W. (2003). Z39.50 and personal bibliographic software. Library Hi Tech, 21(1), 34–43. https://doi.org/10.1108/07378830310467382
Executable Books Community. (2020). Jupyter book (v0.10). Zenodo. https://doi.org/10.5281/ZENODO.4539666
Federer, L., Foster, E. D., Glusker, A., Henderson, M., Read, K., & Zhao, S. (2020). The Medical Library Association data services competency: A framework for data science and open science skills development. Journal of the Medical Library Association, 108(2). https://doi.org/10.5195/jmla.2020.909
Fergusson, A., & Pfannkuch, M. (2022). Introducing high school statistics teachers to predictive modelling by exploring dynamic movie ratings data: A focus on task design. Statistics Education Research Journal, 21(2), 8. https://doi.org/10.52041/serj.v21i2.49
Fergusson, A., & Wild, C. J. (2021). On traversing the data landscape: Introducing APIs to data‐science students. Teaching Statistics, 43(S1). https://doi.org/10.1111/test.12266
Goodale, I. (2020). Working with APIs: An introduction to application programming interfaces. https://guides.lib.utexas.edu/c.php?g=897091
Harvard Library. (2023). Harvard Library APIs & datasets. https://library.harvard.edu/services-tools/harvard-library-apis-datasets
Huck, J. (2019). Census data with R. https://jennhuck.github.io/workshops/tidycensus.html
Index Data. (2022). Index data Yaz. https://www.indexdata.com/resources/software/yaz/
Ketchell, D. S., Freedman, M. M., Jordan, W. E., Lightfoot, E. M., Heyano, S., & Libbey, P. A. (1996). Willow: A uniform search interface. Journal of the American Medical Informatics Association, 3(1), 27–37. https://doi.org/10.1136/jamia.1996.96342647
Kim, S., Bucholtz, E. C., Briney, K., Cornell, A. P., Cuadros, J., Fulfer, K. D., Gupta, T., Hepler-Smith, E., Johnston, D. H., Lang, A. S. I. D., Larsen, D., Li, Y., McEwen, L. R., Morsch, L. A., Muzyka, J. L., & Belford, R. E. (2021). Teaching cheminformatics through a collaborative intercollegiate online chemistry course (OLCC). Journal of Chemical Education, 98(2), 416–425. https://doi.org/10.1021/acs.jchemed.0c01035
Library of Congress. (2023). Gateway to library catalogs: Z39.50. http://www.loc.gov/z3950/
Lynch, C. A. (1997). The Z39.50 information retrieval standard. D-Lib Magazine, 3(4). https://www.dlib.org/dlib/april97/04lynch.html
McCown, F. (2010). Teaching web information retrieval to undergraduates. Proceedings of the 41st ACM Technical Symposium on Computer Science Education, 87–91. https://doi.org/10.1145/1734263.1734294
MIT Libraries. (2023). Resources and tools for computational research. https://libguides.mit.edu/comptools
Olsen, T., & Moser, K. (2013). Teaching web APIs in introductory and programming classes: Why and how. Proceedings of the AIS SIG-ED IAIM 2013 Conference. https://core.ac.uk/download/pdf/301362169.pdf
Scalfani, V. F., Ralph, S. C., Alshaikh, A. A., & Bara, J. E (2020). Programmatic compilation of chemical data and literature from PubChem using MATLAB. Chemical Engineering Education, 54(4). https://doi.org/10.18260/2-1-370.660-115508
Scalfani, V. F. (2021). Using NCBI Entrez Direct (EDirect) for small molecule chemical information searching in a Unix terminal. Journal of Chemical Education, 98(12), 3904–3914. https://doi.org/10.1021/acs.jchemed.1c00904
Swygart-Hobaugh, M., Anderson, R., George, D., & Glogowski, J. (2022). Diving deep into dissertations: Analyzing graduate students’ methodology and data practices to inform research data services and subject liaison librarian support. College & Research Libraries, 83(6). https://doi.org/10.5860/crl.83.6.887
Sydow, D., Morger, A., Driller, M., & Volkamer, A. (2019). TeachOpenCADD: A teaching platform for computer-aided drug design using open source packages and data. Journal of Cheminformatics, 11(1), 29. https://doi.org/10.1186/s13321-019-0351-x
Tenopir, C., Hughes, D., Allard, S., Frame, M., Birch, B., Baird, L., Sandusky, R., Langseth, M., & Lundeen, A. (2015). Research data services in academic libraries: Data intensive roles for the future? Journal of EScience Librarianship, 4(2), e1085. https://doi.org/10.7191/jeslib.2015.1085
Tenopir, C., Pollock, D., Allard, S., & Hughes, D. (2016). Research data services in European and North American libraries: Current offerings and plans for the future. Proceedings of the Association for Information Science and Technology, 53(1), 1–6. https://doi.org/10.1002/pra2.2016.14505301129
UA Libraries Workshops. (2023). https://github.com/ualibweb/UALIB_Workshops
UC San Diego Library. (2023). Finding data & statistics: APIs—scholarly resources. https://ucsd.libguides.com/data-statistics/apis
UCLA Library. (2023). Scholarly APIs. https://guides.library.ucla.edu/scholarly-apis
Ward, M. (1994). Expanding access to information with Z39.50. American Libraries, 25(7), 639–641.
Wolfram Research. (n.d.). Wolfram Language kernel for Jupyter notebooks. Retrieved February 17, 2023, from https://github.com/WolframResearch/WolframLanguageForJupyter
Yoon, A., & Donaldson, D. R. (2019). Library capacity for data curation services: A US national survey. Library Hi Tech, 37(4), 811–828. https://doi.org/10.1108/LHT-12-2018-0209
Published
How to Cite
Issue
Section
License
Copyright (c) 2023 Vincent F. Scalfani, Kevin W. Walker, Lance Simpson, Avery M. Fernandez, Vishank D. Patel, Anastasia Ramig, Cyrus Gomes, Michael T. Moen, Adam M. Nguyen

This work is licensed under a Creative Commons Attribution 4.0 International License.
While ISTL has always been open access and authors have always retained the copyright of their papers without restrictions, articles in issues prior to no.75 were not licensed with Creative Commons licenses. Since issue no. 75 (Winter 2014), ISTL has licensed its work through Creative Commons licenses. Please refer to the Copyright and Licensing Information page for more information.