Booksidian - a Chrome extension to create a note from a book's Goodreads page

You can define a template for your book notes’ title and content, using parameters from the book. Check it out:

If you want to take a look at the code, it’s on GitHub: GitHub - Nurdok/booksidian: A Chrome extension to automatically create notes for books



That’s a great idea, thank you. Is there any possibility this will be developed for Firefox? Chrome is a bit yuck :slight_smile:


I’ve been working on my Book tracking lately. This is pretty sweet.

One issue I have run into: It breaks templates: {date} & {time}


Thanks for the feedback! I’ll try to add support for these soon.


Thanks for sharing this. This combined with Dataview would help a lot for tracking reading progress in Obsidian.

1 Like

@nurdok - this is pretty clever. I was trying to hook the Goodreads API, but found out they’ve deprecated it somewhat recently. This is a good workaround for a quick capture.

I hacked your plugin a little and added support for the book description and series info off the page:

Caveat: Since the full description is under a unique ID, the tool does not work when the description is unfolded (ie: after the “…more” link is pressed)

I’ve never done a pull request before, but I could try to share if interested. It didn’t take too much to add these, though.


Thanks @Erisred! A pull request will be much appreciated. If you want to learn how to do that, I’ll be glad to help over email or DMs here. If not, feel free to send me the diff and I’ll commit it myself.

Regarding the description - yeah, it’s kind of a bummer. It’s on my list to try to either click on “more” in JavaScript or find some other way to get the data.


@nurdok - I’ll see if I can fight through it early next week. My Friday and weekend are a little too packed to try something new, but it’s something I want to learn anyhow.

Edit - I lied and found time to procrastinate. Pull request sent!

1 Like

Can you share how you did this? I would also like to add the Goodreads book ID

@Saorsa - It’s a little too complicated to explain in a forum post. If the information is included and properly identified in the book’s page, you should theoretically be able to pull it out. (surprisingly GR has a LOT of information that isn’t well identified, and hard to parse)

That being said, I can try to help, but need one further detail: What do you mean by “Goodreads ID?” - I can find nothing on the viewable page with that title, but I do see some identifiers. Can you provide the link to a GR page (any random page should be fine), and explain specifically which field or ID you are looking to grab? A screenshot of the field on the GR page would be ideal.

Well, I wondered how to add the two things you added abstract and series, but when I tried to add them to my parameters it didn’t work. I’d also like to be able to capture the ISBN, ISBN13 or ASIN, The Goodreads ID I am talking about is called the bookID and it show up on a CVS download or is the number included in the URL, so maybe it’s not something that can be accessed by a bookmarklet. I want to have the ID because there are scripts that I have found that can update read and currently reading, but I haven’t figured out how to use them yet, so I just wanted to have that info in case I can get those to work later.

Here is the link to a book

If you look at the above link the number 2623 is the book-id

@Saorsa - Are you familiar with the basics? Git, Javascript, Chrome extension source code, etc.?
If so, look at the repo in the OP, particularly at the PR diffs to add variables. Mine was pretty short and sweet.

  • The background.js changes are the ones that add the variable. The other changes are to add visual instructions on how to use it. No big deal if you’re keeping things to yourself, but IMHO critical if you decide to add a PR to the extension for all to enjoy.
  • The book ID shows over 200 times on the page, so I’m sure you can find somewhere to call it from. I see one place it’s called book_id that should serve your needs. Note that it’s not innerText like the others, but a simple ID with a given value:
  • The ISBN isn’t named explicitly, so it might take some stripping to pull it. That’s a little outside my current skill-set, unfortunately. Perhaps your CSV extract can give some clues as to the ID’s to call in the script.

Further help:
I don’t have particular need for this variable, so I’m probably not going to test it out myself. No guarantees, but I could maybe carve out some time after the New Year if there’s still interest.
Also, you could always reach out to the creator and see if they’re willing to add it to the extension permanently. It looks like the repo is somewhat active.

Best of luck.

Thank you for your help!! I will see what I can do with the info you gave me. I am new to all of this, so it might be more than I can figure out, but I will give it a shot. Thank you!!

Hi all,

Just wanted to update that Booksidian version 0.3 is now released and contains a bunch of new fields to use for templates: date, time, abstract, series, rating, rating_count, total_pages and isbn13.

Thanks to all the contributors! Pull requests are always welcome.


Thank you so much for the added fields. I use this all the time.

1 Like

Can somome please please help me understand how to use this? i installed this extension and visited a good reads page and triced clicking on the extension but nothing happends.
I must be missing something obvious… pls support.


1 Like

I’m glad it’s not just me! In the Vault section, I tried adding the name of the Vault, then tried putting the route to the vault and nothing happened. I am raising it as a new issue on GitHub.

Update: It was not working for me at first, a couple of things to clarify which may help: in the Vault make sure you put literally the title and not the path (as I did at first) and if you are selecting a folder for the notes don’t add any / put just the name. It then worked for me.

Thank you so much for this extension. Super neat and just what I need :heart: Just one tiny thing, how do I grab the URL of the page? I checked the available parameters but couldn’t find it