Creating a Scholarly API Cookbook: Supporting Library Users with Programmatic Access to Information

Authors

DOI:

https://doi.org/10.29173/istl2766

Keywords:

Application Programming Interface (API), Programmatic access, Z39.50, Machine-readable, Tutorial, Jupyter

Abstract

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

Download data is not yet available.

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

Downloads

Published

2023-10-05

How to Cite

Scalfani, V. F., Walker, K. W., Simpson, L., Fernandez, A. M., Patel, V. D., Ramig, A., … Nguyen, A. M. (2023). Creating a Scholarly API Cookbook: Supporting Library Users with Programmatic Access to Information. Issues in Science and Technology Librarianship, (104). https://doi.org/10.29173/istl2766

Issue

Section

Refereed Articles
Share |