Open Library website screenshot

Open Library

Open Library offers a suite of APIs to help developers get up and running with its data. This includes RESTful APIs that make Open Library data available in JSON, YAML, and RDF/XML formats, plus a Search Inside full-text search service, cover image endpoints, and read-protocol library lookup APIs. Most resources also expose machine-readable representations by appending .json, .yml, or .rdf to any Open Library URL.

11 APIs 0 Features
AuthorsBooksCatalogCoversLibrariesOpen DataReading ListsSearchSubjects

APIs

Open Library Search API

Search Open Library's catalog of books, authors, lists, and subjects. Returns JSON results for full-text and faceted queries, with options for pagination, field selection, and l...

Open Library Search Inside API

Full-text search across the millions of digitized books in the Internet Archive's collection, returning matching passages and book identifiers.

Open Library Works API

Retrieve work-level records (the abstract concept of a book independent of edition) by Open Library Work ID. Returns JSON, YAML, or RDF/XML.

Open Library Editions API

Retrieve edition-level records (specific printings, ISBNs, formats) by Open Library Edition ID, ISBN-10, ISBN-13, OCLC, or LCCN.

Open Library Authors API

Fetch author records and their works by Open Library Author ID. Supports JSON, YAML, and RDF/XML representations.

Open Library Subjects API

Retrieve books, works, and metadata grouped by subject (genre, topic, place, time, person) with paging and faceting.

Open Library Covers API

Retrieve book and author cover images by Open Library ID, ISBN, OCLC, LCCN, or Goodreads ID, in small, medium, and large sizes.

Open Library Lists API

Read and manage user-curated reading lists. Authenticated patrons can create lists and add or remove works, editions, and subjects.

Open Library My Books API

Access a patron's public reading log: Want to Read, Currently Reading, and Already Read shelves for a given Open Library account.

Open Library Recent Changes API

Stream recent edits across the Open Library catalog including works, editions, authors, lists, and subjects, with filtering by kind and time range.

Open Library Read API

Legacy partner API that returns availability and read URLs for books matched by ISBN, OCLC, LCCN, or OLID identifiers across libraries and the Internet Archive.

Collections

Pricing Plans

Rate Limits

Open Library Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
Website
Website
🔗
Documentation
Documentation
🔗
Bulk Data Dumps
Bulk Data Dumps
👥
GitHubOrganization
GitHubOrganization
🔗
Issues
Issues
📰
Blog
Blog
📜
TermsOfService
TermsOfService

Sources

apis.yml Raw ↑
opencollection: 1.0.0
info:
  name: Open Library API
  version: 1.0.0
items:
- info:
    name: Search books and works
    type: http
  http:
    method: GET
    url: https://openlibrary.org/search.json
    params:
    - name: q
      value: ''
      type: query
      description: Solr query string.
    - name: fields
      value: ''
      type: query
    - name: sort
      value: ''
      type: query
    - name: lang
      value: ''
      type: query
    - name: page
      value: ''
      type: query
    - name: limit
      value: ''
      type: query
    - name: offset
      value: ''
      type: query
  docs: Solr-backed search across the Open Library catalog.
- info:
    name: Search authors
    type: http
  http:
    method: GET
    url: https://openlibrary.org/search/authors.json
    params:
    - name: q
      value: ''
      type: query
  docs: Search authors
- info:
    name: Full-text search inside books
    type: http
  http:
    method: GET
    url: https://openlibrary.org/search/inside
    params:
    - name: q
      value: ''
      type: query
  docs: Full-text search inside books
- info:
    name: Get a work
    type: http
  http:
    method: GET
    url: https://openlibrary.org/works/:workId.json
    params:
    - name: workId
      value: ''
      type: path
  docs: Get a work
- info:
    name: Get an edition
    type: http
  http:
    method: GET
    url: https://openlibrary.org/editions/:editionId.json
    params:
    - name: editionId
      value: ''
      type: path
  docs: Get an edition
- info:
    name: Get an author
    type: http
  http:
    method: GET
    url: https://openlibrary.org/authors/:authorId.json
    params:
    - name: authorId
      value: ''
      type: path
  docs: Get an author
- info:
    name: List works for a subject
    type: http
  http:
    method: GET
    url: https://openlibrary.org/subjects/:subject.json
    params:
    - name: subject
      value: ''
      type: path
  docs: List works for a subject
- info:
    name: Retrieve a reading list
    type: http
  http:
    method: GET
    url: https://openlibrary.org/lists/:listId.json
    params:
    - name: listId
      value: ''
      type: path
  docs: Retrieve a reading list
- info:
    name: Recent changes feed
    type: http
  http:
    method: GET
    url: https://openlibrary.org/recentchanges.json
  docs: Recent changes feed
bundled: true