docs / books

Books & Authors

Book details, search, authors and free ebooks.

base /books/v14 endpoints
post/books/v1/book_detail1 credit

merged book record by ISBN-10/13 or OLID (work OL..W / edition OL..M): title/authors/covers/subjects/description/pages/publishers/languages/editions/identifiers/ratings+distribution/reading-log; queried ISBN always injected

ParameterAllowed / rangeDescription
idrequiredISBN-10/13, OR OpenLibrary work id (OL..W), OR edition id (OL..M).
Try in playground →
post/books/v1/author1 credit

author by OLID (OL..A) → bio/photo/dates/alternate-names/remote-ids(goodreads/wikidata/viaf/gutenberg)/links + include_works; or query/name → best-match-ranked author list

ParameterAllowed / rangeDescription
idoptionalOpenLibrary author id (OL..A) for a profile. Supply `id` OR a query (`query`/`name`/`q`) for author search.
queryoptionalAuthor search text → best-match-ranked list. Supply this OR `id`.
include_works = falseoptionalProfile mode only: also return the author's top works.
works_limit = 20optional1–50Max works when include_works=true (1-50).
limit = 10optional1–50Results per page (1-50, default 10); out-of-range values are clamped.
Try in playground →
post/books/v1/ebook1 credit

public-domain full-text (Project Gutenberg): query OR id=Gutenberg-id OR ids=batch; filters languages/topic/sort; returns formats{epub/txt/html/kindle/cover}+download_url+read_url; gutenberg.org OPDS fallback when gutendex is down

ParameterAllowed / rangeDescription
queryoptionalFull-text search of Project Gutenberg. Supply `query` OR `id` (Gutenberg id) OR `ids` (batch) OR a filter.
idoptionalA single Project Gutenberg ebook id (digits).
idsoptionalBatch of Gutenberg ids (list or comma-separated string).
languagesoptionalGutendex language filter — comma-separated ISO 639-1 codes (e.g. en, fr).
topicoptionalGutendex topic filter (matches bookshelf or subject).
sortoptionalpopular · ascending · descendingGutendex ordering. Known keys shown; passed through if Gutendex adds more.
mime_typeoptionalGutendex mime_type filter (e.g. application/epub+zip, text/plain).
author_year_startoptionalGutendex filter: author alive on/after this year.
author_year_endoptionalGutendex filter: author alive on/before this year.
copyrightoptionalGutendex copyright filter: true|false|null (comma-separated to combine).
limit = 32optional1–32Results per page (1-32, default 32); out-of-range values are clamped.
page = 1optional1–10001-based page number (clamped to 1-1000).
Try in playground →