TL;DR
Open Library's Books API retrieves detailed metadata for specific works, editions, or ISBNs from the massive Open Library catalog. Given a work ID (like OL45804W), it returns the full book description, subjects, author links, edition lists, cover image URLs, and related works. This is the "deep dive" API to use after discovering a book through the Search API, giving you everything needed to display a rich book detail page.
Quick start: https://openlibrary.org/works/OL45804W.json
No API key needed — just make a request!
How to Use This API
1. Get Work Details
Fetch full metadata for a specific work by its Open Library ID:
https://openlibrary.org/works/OL45804W.json
2. Get Edition by ISBN
https://openlibrary.org/isbn/9780544003415.json
3. Get Edition by Open Library Edition ID
https://openlibrary.org/books/OL1234567M.json
4. JavaScript — Display Book Details
fetch('https://openlibrary.org/works/OL45804W.json')
.then(r => r.json())
.then(book => {
console.log('Title:', book.title);
console.log('Description:', book.description?.value || book.description);
console.log('Subjects:', book.subjects?.map(s => s.name).join(', '));
console.log('First published:', book.first_publish_year);
});
5. Python — Get Book Covers
import requests
# Get edition data for a specific ISBN
resp = requests.get('https://openlibrary.org/isbn/9780544003415.json')
edition = resp.json()
print(f"Title: {edition['title']}")
print(f"Pages: {edition.get('number_of_pages', 'Unknown')}")
# Cover URL format
cover_id = edition.get('covers', [None])[0]
if cover_id:
print(f"Cover: https://covers.openlibrary.org/b/id/{cover_id}-L.jpg")
https://openlibrary.org/works/OL45804W.json
API Details
- API URL
https://openlibrary.org/works- Documentation
- openlibrary.org/developers/api
- Category
- Education
- Authentication
- Not Required
- Geographic Coverage
- Global
Frequently Asked Questions
- How do I find a work ID?
- Search via the
/search.jsonendpoint first, then use thekeyfield from results (e.g.,/works/OL45804W). - Whats the difference between works and editions?
- A work is the abstract book (e.g., "The Hobbit"), while editions are specific publications (hardcover, paperback, different publishers). Works contain edition lists.
- Can I get book descriptions?
- Yes, the work endpoint includes a
descriptionfield (either a string or an object withvalue). Some works include rich text descriptions. - How do cover images work?
- The
coversarray contains numeric IDs. Build URLs like:https://covers.openlibrary.org/b/id/{ID}-S.jpg(S=small, M=medium, L=large). - What author information is available?
- The
authorsarray includes author keys (e.g.,/authors/OL23919A) and optional author name. Authors can be fetched in detail from the Authors API.
What You Can Build
- Book detail page with full description and covers
- ISBN scanner that fetches edition metadata
- Reading journal app with book lookup
- Library catalog browser with edition comparison
- Book recommendation engine using subject data