Goodreads Developers discussion

894 views
bugs > API issue - cover images

Comments Showing 1-14 of 14 (14 new)    post a comment »
dateUp arrow    newest »

message 1: by Chris (new)

Chris | 1 comments Hi

I am using the API to gather some book data, however the image is not coming through.

The images are displaying on the goodreads site, but image_url and small_image_url both have nophoto in the URLs.

The titles affected are:

https://www.goodreads.com/book/show/3...
https://www.goodreads.com/book/show/8...
https://www.goodreads.com/book/show/1...
https://www.goodreads.com/book/show/1...

Please advise.

Chris


message 2: by Feiyu (new)

Feiyu Yin (sanchishui) | 11 comments For certain book cover images, descriptions, and other data from third party sources might be excluded from our public APIs, because we do not have a license to distribute these data via our API.
Sorry about that.


message 3: by John Packel (new)

John Packel | 2 comments Hi -

I've found the same thing (including all the covers for my friend's best sellers!). So what do people do in this case, write a line saying if nophoto then search and pull from another source?

Thanks


message 4: by Carl (new)

Carl  (cparrish817) | 4 comments Perhaps we can add a property that says there aren't any photos to tell the difference between errors and calls with no photos?


message 5: by John Packel (new)

John Packel | 2 comments Seriously, though, why are books that have photos on Goodreads not showing photos in the API? None of this guy's best sellers have them in API.
Pirate Hunters: Treasure, Obsession, and the Search for a Legendary Pirate Ship https://www.goodreads.com/book/show/2...


message 6: by Paulo (new)

Paulo Elias (paulo_elias) | 2 comments Same here. I am creating a virtual shelf for me on my website and found the same problem...

http://paulorobertoelias.com.br/livro...#

Please fix this


message 7: by Matthew Lucas (new)

Matthew Lucas | 1 comments Feiyu wrote: "For certain book cover images, descriptions, and other data from third party sources might be excluded from our public APIs, because we do not have a license to distribute these data via our API.
S..."


Concerning the licensing aspects of the images that are actually returned - is there any issue with me displaying the third party images in an app of my own (specifically Android app), or can I assume that as they're being supplied by your API, that (assuming I follow the usual guidelines) this is fine?

Thanks


message 8: by Joe (new)

Joe Slater | 1 comments Feiyu wrote: "For certain book cover images, descriptions, and other data from third party sources might be excluded from our public APIs, because we do not have a license to distribute these data via our API.
S..."


How is it possible to have a license to display images and descriptions on the web page, but not have a license to include them in the API? That's confusing.


message 9: by Tim (new)

Tim (timdcca) Bumping this as I just ran into the issue building a Jekyll page with this.

Feiyu wrote: "For certain book cover images, descriptions, and other data from third party sources might be excluded from our public APIs, because we do not have a license to distribute these data via our API.
S..."


The widgets available (to copy the JS code to put on a separate webpage) have cover images no problem, whereas the API doesn't (for some titles). Interesting to see where the legal loopholes lie.


message 10: by Tim (last edited Feb 20, 2019 01:06PM) (new)

Tim (timdcca) I'm using a workaround that others might be interested in. If the image isn't available on GR, I'm trying to get it using OpenLibrary Covers API.

See info here - https://openlibrary.org/dev/docs/api/...

Here's some code (in Liquid template):


{% for rev in goodreads.reviews.review %}
<div class='book'>
{% if rev.book.image_url contains '/nophoto/' %}
<img height='85px' src='https://covers.openlibrary.org/b/ISBN/{{ rev.book.isbn }}-M.jpg' />
{% else %}
<img height='85px' src='{{ rev.book.image_url }}' />
{% endif %}
<span><a href='{{ rev.book.link }}'>{{ rev.book.title }} ({{ rev.book.publication_year }})
<span>Rating: {{rev.rating}} start - "{{ rev.body }}"
</div>
{% endfor %}


It isn't perfect, as OpenLibrary may not have the cover you need either, but it seems to work alright in most cases.


message 11: by Ashleigh (new)

Ashleigh | 3 comments Building on what Tim said, I've also found a similar work around. I make a call using retrofit to https://www.googleapis.com/books/v1/v... after putting all of my called data in an array list, then separating books that contain "noPhoto" in the image url into another list. Then I make a call to googleapis using the book names that have "noPhoto" images as my search query param. Returned like 90% of the book covers I was missing.


message 12: by Ashleigh (new)

Ashleigh | 3 comments If anyone reads this later. Even better than Google books api is penguin random house api. No key needed and I just add a book isbn to the end of the penguin cover url and it gave me all the covers that Google said didn't exist! Hope this helps someone.


message 13: by Frank (new)

Frank | 1 comments Do they return results for books published by other publishers [besides penguin/random house]?


message 14: by P.M.C. (new)

P.M.C. Smy | 1 comments It seems that books that DON'T have an ISBN (i.e. most indie published Kindle-only books) don't have a cover in the Goodreads API, nor can that cover be found in any other public api. Though it is on the Goodreads website.
This is very frustrating that there is no such thing as a complete book api in the world!


back to top