DEVONthink database for Books/Library management

I would like to create a database for my library. In a perfect world I would be able to scan the books ISBN and have all the information populated automatically (title, author, publisher, pub date… and maybe even grab an image from the inter webs).

Has anyone done this? If not, could anyone help a newb with how I would go about setting that up (no coding experience)?

1 Like

I have not done this. I also think it will require some programming.

Your best approach is first to identify which service you want to use to retrieve this data. There are paid services and free services and you check if a typical sample of ISBN nummers can be found by the given service.

If you do a google search you can find multiple possible services, like:

I would recommend using Bookends which is built with the primary job to do exactly what you are asking.

Then integrate that with Devonthink using Claude Cowork or similar since both Bookends and Devonthink have well-done MCP servers.

Best of both worlds.

2 Likes

With Bookends I just did this search:

And it came right back with:

2 Likes

Have it all populated where and on what?
Are you referring to custom metadata on a PDF document of a specific book?
A sheet logging this information?
A Markdown table?
…?

2 Likes

If I understand correctly, the primary use case of Bookends is reference and citation management for writing (e.g. academic papers), similar to Zotero or EndNote. Is that right?

I also noticed that the website mentions DEVONthink integration. Does anyone here have experience using Bookends together with DEVONthink?

P.S. I’m also looking for a better way to organize my ebook and physical books library. At the moment, I have a folder hierarchy with subfolders for different genres and topics, but it’s become difficult to keep track of what I actually own, what I’ve already read, and what I want to read next. It feels like my library has become a black box. If anyone has found a good system for managing this, I’d really appreciate hearing about it.

I’ve tried Calibre, but I find it quite opinionated and a bit messy. These days I only use it for converting books and transferring them to my Kobo.

This script might be sufficient assuming that the document contains the ISBN:

tell application id "DNtp"
	set theRecords to selected records
	if theRecords is {} then return
	
	show progress indicator "Looking up books..." steps (count of theRecords)
	repeat with theRecord in theRecords
		step progress indicator (name of theRecord as string)
		try
			-- Resolve book metadata via Google Books, falling back to Open Library
			set bookInfo to resolve book metadata record theRecord with apply and rename
			if bookInfo is not missing value then
				-- Try to grab a cover image from Open Library
				set bookISBN to ""
				try
					set bookISBN to international standard book number of bookInfo
					set coverURL to "https://covers.openlibrary.org/b/isbn/" & bookISBN & "-L.jpg"
					set imgData to download URL coverURL
					if imgData is not missing value then set thumbnail of theRecord to imgData
				end try
			else
				log message record theRecord info "No book found"
			end if
		on error errMsg number errNum
			if errNum is not -128 then log message record theRecord info errMsg
		end try
	end repeat
	hide progress indicator
end tell

NOTE: There’s also a resolve DOI metadata command which is used e.g. by the Download Bibliographic Metadata smart rule script. Additional commands introduced by version 4.3.2 are download PDF from DOI and search CrossRef.

3 Likes

It seems an odd choice to try and make DT do this when so many bespoke apps exist solely for this purpose. It would make far more sense to use an app designed for this and then import the data into DT if you need the information there.

There are many apps available, but personally I use Book Tracker. It meets my needs: it’s customisable with brilliant built-in functions, there’s no data tracking, no subscription and it’s from a European indie developer.

All book tracking apps access book libraries so that bit isn’t an issue. For me personally, the extra bit of magic is that while Book Tracker can automatically add the book to its registered categories, you can also disable this function. This meant I could set up my own categories based on how I manage my library. For example, I’m an ecologist so defining a book as “ecology” is not useful for me, but I set up more specific categories for my use. I’m not a historian, so I don’t need a book categorised as “19th century” and can just categorise it as “history” instead.

For your use-case, it supports both barcode scanning via device camera or from a handheld scanner. I don’t export the data to DT as the app meets my needs, but it has export functions available (csv or PDF).

4 Likes

There are numerous threads in the forum on this.

This is a different question to OP’s but for what it’s worth I do manage my digital library in a DT database. I use Calibre for file conversion and I let it hold copies of all my digital books as a backup, but I copy all my digital books as PDFs into a specific DT database that only exists to manage my digital books. All files are named the same (last name, first name - title). I use the unread/read status to track if I’ve read titles, and tags to mark priorities. Beyond that I don’t do much but of course like any DT database it could be optimised if I wanted. DT’s job here (for me) is to manage the files and let me search them and add them to devices. Book Tracker’s job (the app I mentioned above) is to track my “total library” across digital and paper, and track what’s been read, etc. In this sense, DT is just a “location” (Book Tracker has a ‘location’ field for recording where a book is stored).

3 Likes

How about Bookerei?

1 Like

interesting idea: treating DT as one of the locations! And yes, I also need a method to track my total library (ebooks, physical etc)

Thanks! Never heard of it! I’ll check it out

Note that CSV will not export everything, notably not the cover image. That’s one of the little issues I have with this otherwise great program. And an unstructured format as PDF goes against my instincts :wink:

One follow up question: you write that you use read / unread status and tags in DT to track the status of the book in DT. At the same time, you’re using Book Tracker for what seem similar purpose (what books you have overall and whether or not you read them). That sounds like an overlap with the DT, or am I missing something?

“With Bookends”? Do you mean you entered that search into BE or that you entered it into DThink? And if DThink, your search was from “Quick Add” instead of the search bar?

In my mental picture, I would have this library in my DThink database, perhaps imported from Bookends as that’s the easiest way to enter/aggregate all the book details.

But is it, rather, that DThink merely goes out and grabs the info from Bookends? And as Bookends is a web based app, anytime I’m offline I will not be able to access that Bookends information?

TIA

Thank you. Is the app accessible off line?

Is Bookends iOS only? I’m at the app store and that’s all I’m seeing.

It was @rkaplan who recommended Bookends I believe. And it should be accessible on the macOS as well: DEVONthink database for Books/Library management - #3 by rkaplan

1 Like

I use Bookends on both Mac and iOS. Bookends manages all my pdfs of articles and the like and the Attachments folder where Bookends keeps the pdfs is indexed by DEVONthink.

2 Likes

Sorry, anton… and thanks for responding graciously. This means my library is “stored” at Bookends and I need to be online to access, correct (sorry.. newbie Q’s)?