Expand description

Wrapper for Openlibrary’s Web API


PLEASE NOTE: this crate is currently in an experimental stage. Meaning expect frequent, large breaking changes from version to version until we are in a stable state.

There are currently 8 sub APIs offered by Openlibrary’s Web API. You can check the table below to see the status of each.


You can view information about books by Works, Editions, and ISBN ids by using the books::Books struct

use openlibrary_rs::books::{BookType, BooksBuilder};

// execute request to Works API and pretty print debug of result
let books = BooksBuilder::default()

    println!("{:#?}", books.execute());


You can search for books, authors, and more using the search::Search struct

use openlibrary_rs::search::SearchBuilder;

// execute search and pretty print debug of first result
let search = SearchBuilder::default()
    .query("the lord of the rings")

println!("{:#?}", search.execute().docs[0]);

  1. Everything excluding the generic Books API is complete(i.e. Works, Editions, and ISBN APIs are done).