Since Zotero 7/8, citation keys are a native field in the Zotero database (citationKey in the
item data). They are exposed via the standard Zotero local API at
http://localhost:23119/api/users/0/items without requiring Better BibTeX.
Currently, the plugin relies entirely on BBT's JSON-RPC endpoint (/better-bibtex/json-rpc) to
resolve citation keys and fetch bibliography data. This means users must install Better
BibTeX even though Zotero now provides the same citation key information natively.
Why this matters
- Redundant dependency: BBT is no longer needed for citation key management in Zotero 7/8 —
it's a 9,000+ item indexing overhead for functionality Zotero now provides out of the box.
- Slow initial setup: BBT needs to index the entire library before the plugin works, which
can take significant time on large libraries.
- Sync issues during migration: BBT and Zotero 8 native keys can conflict during migration,
causing citekey mismatches.
Proposed change
Add an option to query the standard Zotero local API directly:
GET http://localhost:23119/api/users/0/items?format=json
Each item's data.citationKey field contains the native citation key. This would allow the
plugin to work with Zotero 7/8 without BBT installed.
Environment
- Zotero 8
- Plugin version 2.0.25
- ~9,000 library items
Since Zotero 7/8, citation keys are a native field in the Zotero database (citationKey in the
item data). They are exposed via the standard Zotero local API at
http://localhost:23119/api/users/0/items without requiring Better BibTeX.
Currently, the plugin relies entirely on BBT's JSON-RPC endpoint (/better-bibtex/json-rpc) to
resolve citation keys and fetch bibliography data. This means users must install Better
BibTeX even though Zotero now provides the same citation key information natively.
Why this matters
it's a 9,000+ item indexing overhead for functionality Zotero now provides out of the box.
can take significant time on large libraries.
causing citekey mismatches.
Proposed change
Add an option to query the standard Zotero local API directly:
GET http://localhost:23119/api/users/0/items?format=json
Each item's data.citationKey field contains the native citation key. This would allow the
plugin to work with Zotero 7/8 without BBT installed.
Environment