All Book Data pulls from Open Library API (https://openlibrary.org/developers/api), and I'm not storing book data to relays besides ISBNs as identifiers on events.
User's events (ex. "Add book to my TBR") are basically a list of the relevant ISBNs, then the app uses the ISBN to fetch the book data from Open library. I am heavily caching the Open Library responses to ISBN lookups in cloudflare to prevent havign to do too many lookups, though.
Its not a perfect system by any means, still lots of issues with searching, etc., but they provide a great service making all their data available to the public for free!