Overview
I prototyped an app using Zotero’s API and Streamlit.
https://nakamura196-zotero.streamlit.app/

This article is a memo on developing this app.
Streamlit
The following article was very helpful.
https://qiita.com/sypn/items/80962d84126be4092d3c
Zotero’s API
Zotero’s API is described at the following page.
https://www.zotero.org/support/dev/web_api/v3/start
This time, I used the following library introduced on the above page.
https://github.com/urschrei/pyzotero
To use the API, you need to obtain a personal library ID and an API key, which could be obtained by following the Quickstart steps in the README.
Below is the screen when issuing an API key.

Development with Streamlit
The source code is available at the following repository.
https://github.com/nakamura196/zotero_streamlit
Sensitive Information
It appears that sensitive information should be stored in a file called /.streamlit/secrets.toml. Don’t forget to add it to .gitignore.
It could then be called as follows.
Retrieving the Collection List from the Zotero Library
The following code was used to retrieve the collection list from the Zotero library.
Retrieving Items Within a Collection
Items within a collection could be retrieved with the following. Processing to skip items where itemType is attachment has been added.
Meta Tag Configuration
Page settings such as the title could be configured as follows.
Deployment
It was easy to deploy to Streamlit Community Cloud from the “Deploy” button in the upper right of the development screen.

At that time, by adding the information written in /.streamlit/secrets.toml in the Advanced settings, sensitive information could also be used on the server.

Summary
Using Streamlit, I was able to easily create a web app.
I hope this serves as a helpful reference for using the Zotero API and more.