lksrpp996 downloadsSearch for books with high-resolution covers and create new notes based on your template. Supports searching via Google Book API, Open Library, Apple Store.
An Obsidian Plugin to search books and create a book note from your own template, complete with a high-resolution cover.
Built for anyone who keeps a book library in their vault. Metadata comes from Google Books or Open Library (your choice; Google Books needs a free API key, see below). Cover art is pulled from Apple Books and Google Books, so you can pick the best image. Works best with gallery views like Obsidian Bases, where new notes get a full-size cover.
Find a new book and add it to your Obsidian library.

Already have a library? Open any book note and run the command Fetch or replace cover for current note.

The plugin reads the note's title and author (from frontmatter, or the file name if there is none) and shows candidates from Google Books and Apple side by side.
You set the default in settings and easily override your decision for specific searches.
The built-in Note template works out of the box and is editable right in the settings. Prefer managing templates as notes (for example with Templater)? Point the Template file setting at any note in your vault instead; a button next to the setting turns your current inline template into such a file, so nothing is lost when you switch. If you enabled Templater's "Trigger Templater on new file creation" setting, your commands in the template run on the new note as usual.
Templates use simple {{variable}} placeholders in the frontmatter, body, or title.
| Variable | What you get |
|---|---|
{{title}} |
Book title |
{{subtitle}} |
Subtitle, if any |
{{author}} |
First author |
{{authors}} |
All authors, comma-separated |
{{authorsYamlLinks}} |
Authors as a YAML list of [[wikilinks]] |
{{description}} |
Publisher's description (body only, too long for frontmatter) |
{{descriptionCallout}} |
Description as a collapsed callout; custom title via {{descriptionCallout:My title}} |
{{publisher}} |
Publisher name |
{{publishedDate}} |
Raw publish date, e.g. 2021-05-04 |
{{year}} |
4-digit publish year |
{{pageCount}} |
Number of pages |
{{isbn}} |
ISBN-13, falling back to ISBN-10 |
{{isbn13}} |
ISBN-13 only |
{{isbn10}} |
ISBN-10 only |
{{categories}} |
Categories, comma-separated |
{{categoriesYamlList}} |
Categories as a YAML list |
{{language}} |
Language code, e.g. en, de |
{{seriesName}} |
Series name, if known |
{{seriesNumber}} |
Number within the series, if known |
{{source}} |
Search provider: google or openlibrary |
{{cover}} |
Cover URL or vault path, per the cover storage mode |
{{date}} |
Note creation date, YYYY-MM-DD |
{{datetime}} |
Note creation date and time, YYYY-MM-DD HH:mm:ss |
The plugin talks to googleapis.com (with your API key), itunes.apple.com, and openlibrary.org to fetch book data and covers. Your API key is stored locally in the plugin's data.json and is never sent anywhere except Google. No telemetry, no tracking.
npm install
npm run dev # watch build -> main.js
npm run build # typecheck + production build
npm run lint # eslint-plugin-obsidianmd
npm test # vitest
Built with the standard Obsidian + esbuild toolchain.
MIT