I've seen "returns JSON with Html content" on paginated websites. Not great for consuming/scraping the data as a customer; and simplifies server-side/clientside contract about UI.
This makes me rethink everything.
(Sudden realisation that Goodreads doesn’t really care about third party clients, and are therefore probably designing rationally.)
IMO, what's valuable about GoodReads is the data: the books and the user reviews. (DuoLingo is the same).
One user's data alone isn't valuable enough to that user.
3rd party API makes more sense for e.g. GDocs or whatever.