# How to pull these 2 data fields from Goodreads?

**URL:** <https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570>\
**Category:** Factual Questions\
**Created:** [July 29, 2021, 4:26am UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570 "2021-07-29T04:26:42Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![longtry](https://avatars.discourse-cdn.com/v4/letter/l/839c29/32.png) [@longtry](https://boards.straightdope.com/u/longtry)\
**Post date:** [July 29, 2021, 4:26am UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/1 "2021-07-29T04:26:42Z")

</div>

Hi there!

I made a spreadsheet of books that I want to read, and now I want to update it with live info from [goodreads.com](http://goodreads.com). The essential 2 fields I want to get are the number of votes and book score (with only the decimals, omitting number 4 & that dot in the end result). If possible, I want to get the book name and author into the sheet too, with links embedded to click from excel.

I’ve tried to follow instructions on the net about Data =\> Get external data =\> From web… but excel can’t load goodreads page without failing many scripts, and I can’t select the values I want. So, is it possible? Are there any ways to do it kinda automatically? Like, when I want to add a new book to my list, I’ll just press some button, paste the book link and it’ll retrieve all the above info & paste them neatly into a new row?

Thank you!

---

<div class="post-metadata">

**Author:** ![GreenWyvern](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/greenwyvern/32/2834_2.png) [@GreenWyvern](https://boards.straightdope.com/u/GreenWyvern)\
**Post date:** [July 29, 2021, 12:18pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/2 "2021-07-29T12:18:42Z")

</div>

I don’t think there’s any easy way to do it, and maybe no difficult way either, since Goodreads have deprecated their API.

But you can download whatever you have in ‘My Books’. There’s an option (left, bottom) under Tools, that lets you export the info to a CSV file that you can open in a spreadsheet.

---

<div class="post-metadata">

**Author:** ![naita](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/naita/32/5862_2.png) [@naita](https://boards.straightdope.com/u/naita)\
**Post date:** [July 29, 2021, 4:44pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/3 "2021-07-29T16:44:32Z")

</div>

You could program a data scraper in your favorite programming language to take in the URL and retrieve the data. The score at least is neatly identifiable as:  
`<span itemprop="ratingValue"> 3.92 </span>`

---

<div class="post-metadata">

**Author:** ![GreenWyvern](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/greenwyvern/32/2834_2.png) [@GreenWyvern](https://boards.straightdope.com/u/GreenWyvern)\
**Post date:** [July 29, 2021, 5:04pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/4 "2021-07-29T17:04:04Z")

</div>

You could.

The number of ratings and reviews are in

`<span data-testid="ratingsCount">27,341<!-- -->&nbsp;<!-- -->ratings</span>`

and

`<span data-testid="reviewsCount" class="u-dot-before">3,796<!-- -->&nbsp;<!-- -->reviews</span>`

The OP could get someone to write a program to do that, and even write the results automatically into his spreadsheet, as long as the URLs of each book are known. I could do that myself.

The question is whether it’s really worth the time and effort. Also, the next time Goodreads changes their interface, the scraping program may stop working and have to be modified again.

---

<div class="post-metadata">

**Author:** ![naita](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/naita/32/5862_2.png) [@naita](https://boards.straightdope.com/u/naita)\
**Post date:** [July 29, 2021, 5:10pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/5 "2021-07-29T17:10:58Z")

</div>

Yeah, I didn’t say it would be worth it. 🙂

If it were me I’d use the “want to read” tag _in_ Goodreads and export that data. But I already keep track of all my reading there and I don’t know how the OP uses their spreadsheet or if the export contains the fields they want.

---

<div class="post-metadata">

**Author:** ![GreenWyvern](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/greenwyvern/32/2834_2.png) [@GreenWyvern](https://boards.straightdope.com/u/GreenWyvern)\
**Post date:** [July 29, 2021, 5:19pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/6 "2021-07-29T17:19:10Z")

</div>

A small stand-alone database would also be better than a spreadsheet, but then you’re putting time into something too elaborate for a simple, nice-to-have reading list. 😉

---

<div class="post-metadata">

**Author:** ![longtry](https://avatars.discourse-cdn.com/v4/letter/l/839c29/32.png) [@longtry](https://boards.straightdope.com/u/longtry)\
**Post date:** [July 30, 2021, 5:57am UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/7 "2021-07-30T05:57:46Z")

</div>

That’s right, haha. Thank you guys. It’s not worth the efforts, better use goodreads’ internal feature. If only I can add a note to some books.

---

<div class="post-metadata">

**Author:** ![GreenWyvern](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/greenwyvern/32/2834_2.png) [@GreenWyvern](https://boards.straightdope.com/u/GreenWyvern)\
**Post date:** [July 30, 2021, 6:31am UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/8 "2021-07-30T06:31:04Z")

</div>

There are many reading list apps out there.

[LibraryThing](https://www.librarything.com/) seem quite popular.

Also:

> **[Manage Your 2021 TBR With These Reading List Apps | Book Riot](https://bookriot.com/best-reading-list-apps/)**
>
> These eight reading list apps can help you stay organized and focused on your reading goals throughout 2021.

> **[6 Reading Apps and Websites for Book Lovers](https://www.aarp.org/entertainment/books/info-2020/reading-apps-and-websites.html)**
>
> There are many apps and websites that can help track your daily reading habits or suggest new books to read. Here are six we recommend downloading. 

---

<div class="post-metadata">

**Author:** ![naita](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/naita/32/5862_2.png) [@naita](https://boards.straightdope.com/u/naita)\
**Post date:** [July 30, 2021, 2:03pm UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/9 "2021-07-30T14:03:08Z")

</div>

> [@longtry](#):
>
> If only I can add a note to some books.

You can, but it’s a column not visible by default. I googled “goodreads add notes to book” and found this:

> You can add private notes via the desktop site but I am not aware of any ability to do this from the Android app. You could access GR desktop from your Android device using a web browser and depending on screen size it may work for you.
> 
> From the GR desktop site go to My Books → Want to Read → Settings → check the ‘notes’ column → then click ‘Save current settings to your “to-read” shelf’
> 
> When the page refreshes you will have a new visible column which you can edit to add recommendation info.  
> [Goodreads Help](https://help.goodreads.com/s/question/0D51H00004AEeww/can-you-add-a-private-note-to-a-book)

I don’t know if going to “Want to read” actually enables it just for that category, but it can’t harm to follow it to the dot.

---

<div class="post-metadata">

**Author:** ![longtry](https://avatars.discourse-cdn.com/v4/letter/l/839c29/32.png) [@longtry](https://boards.straightdope.com/u/longtry)\
**Post date:** [August 3, 2021, 5:44am UTC](https://boards.straightdope.com/t/how-to-pull-these-2-data-fields-from-goodreads/947570/10 "2021-08-03T05:44:58Z")

</div>

Whew, I’ve done the transformation. Not the best stuff but OK to use.
