Goodreads Developers discussion

1926 views
questions > get reviews for a book

Comments Showing 1-8 of 8 (8 new)    post a comment »
dateDown arrow    newest »

message 1: by Yong (new)

Yong | 2 comments Hi,

I'm a student who are new to both Goodreads APIs and Android. Right now I'm working on an android app that one of the functions is fetching all reviews for a book searched by users.

I found the most possible api I need is: https://www.goodreads.com/api/index#b...
However, unlike my limited previous experience, this api only provides a review widget instead of the whole reviews in the format of json/xml.

My question is: Is there a way that I can request the reviews directly in json format? or what do I need to do to embed this widget to an activity in my app?

I saw some similar third party apps that list reviews of books from Goodreads on the Play Market, so I believe there much be a way to do it.

Thanks,


message 2: by Jeffrey (new)

Jeffrey (jeffwong) | 74 comments Mod
Hi Yong,

Have you tried the "book/show" API endpoint? The XML which comes back is has a list of reviews paginated into pages of 30 reviews each and should have the entirety of the review texts.

The documentation says "Get an XML or JSON file that contains embed code for the iframe reviews widget" but later it says "XML responses also include shelves and book meta-data". I think this is probably confusing because it sounds like all this call is good for is getting an iframe embed code. In reality, our apps use this API endpoint for getting information for when we show a book. There is an argument called "page" which you can pass to get different pages of reviews in the book meta data that comes back.

It is quite inefficient bandwidth-wise but that what we have at the moment.

I would try the JSON version of the call but it may not be as complete as the XML version.

Hope this helps.


message 3: by Greg (last edited Feb 01, 2015 01:36PM) (new)

Greg | 1 comments Hi Jeff - I'm also trying to get a list of reviews back from the book/show API endpoint - as far as I can tell, reviews are not included in the XML response - here's the attributes that I'm getting back:

["id", "title", "isbn", "isbn13", "asin", "image_url", "small_image_url", "publication_year", "publication_month", "publication_day", "publisher", "language_code", "is_ebook", "description", "work", "average_rating", "num_pages", "format", "edition_information", "ratings_count", "text_reviews_count", "url", "link", "authors", "reviews_widget", "popular_shelves", "book_links", "series_works", "similar_books"]

My call looks like:

http://www.goodreads.com/book/show

params {:id=>"16686990", :format=>"xml", :key=>"[redacted]"}

Am I missing arguments that would add reviews to the response? Apologies if I'm missing something obvious!

Thanks-
Greg


message 4: by Michael (new)

Michael Economy (michaeleconomy) We limit access to review data. What is your use case?


message 5: by Yong (new)

Yong | 2 comments Thanks for all the follow ups guys.

@Michael, I'm working on a non-commercial android all-in-one app that finds reviews for movies, books, and musics and so on... For the book part, I'd like to use Goodreads's data as it's a well known book commenting website. Is there any chance you will offer the access to review data?

Thanks,
Yong


message 6: by [deleted user] (new)

Hi Yong,

Do you mind emailing support@goodreads.com with your request for review data? -- including what your app is, what you're planning on using the review data for, etc. Our customer support team can work with you to determine if they can grant you access.

Thanks!


Scottsdale Public Library (scottsdalepubliclibrary) | 1 comments I am also trying to parse our "read" shelf as an XML document. We currently have a list of our read bookshelf with reviews on our website using the RSS feed. We would like to parse it as XML.

Do you have a feed for this?
Thanks!


message 8: by Jeffrey (new)

Jeffrey (jeffwong) | 74 comments Mod
Hi,

You will want to use the reviews.list method. Set the shelf argument to read.

You should be able to test the URL in your browser. You can start with the sample URL given for that method.


back to top