Skip to content

Books API: Promote original work description to each edition #1816

Description

@ClaudiuCeia

Description

I'm building a mobile app that allows people to scan ISBNs and get some info on the book that they've scanned. However, I'm not sure I can always get the description, particularly when the scanned ISBN is for an edition that "inherits" the description from the original work.

Evidence

I have ISBN: 9780091953638
For that, I can get data via:

However, none of the above see to return the "parent" OLID, or some way to get to https://openlibrary.org/works/OL17507444W.json, which is the data for the "parent object".

Admitedly, I can get the "works" array if I use jscmd=details but according to the docs, it's unrecommended/deprecated, and I'm not comfortable with using it in the app in that case.

Expectation

I expected more control over the available fields to be retrieved through the Books API. At the very least, the description field should always be available when jscmd=data, if it exists on either the specific edition or the parent work.

Proposal & Constraints

Adding the description field as described shouldn't break any existing integrations of the API.
For the long run, some control over the granularity of the returned data would be nice. I'd imagine something like:

https://openlibrary.org/api/books
      ?bibkeys=ISBN:9780091953638
      &fields=author,cover,description,...  // This can be an enum field documented in the API docs
      &format=json

Metadata

Metadata

Assignees

No one assigned

    Labels

    Affects: DataIssues that affect book/author metadata or user/account data. [managed]EditionsLead: @mekarpelesIssues overseen by Mek (Staff: Program Lead) [managed]Priority: 3Issues that we can consider at our leisure. [managed]Theme: Public APIsIssues related to APIs accessible to external parties. [managed]Type: Feature RequestIssue describes a feature or enhancement we'd like to implement. [managed]

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions