isbndb 0.2.3
isbndb: ^0.2.3 copied to clipboard

Dart service for isbndb.com API. Returns book details from an ISBN, mist of books from an author name, etc.

@hikeland https://dart.dev/ https://flutter.dev/

Dart/Flutter package for using ISBNdb API #

This package is a ready-to-use API for ISBNdb.

App preview

⚠️ You need an API key to use this service. To get it, create an account on ISBNdb.

You can have a 7-day trial for free.

Features of the API #

This package allows you to use all the features available in the ISBNdb API.

Before any request to the API, you need to init the service class with the following code:

final isbnDb = ISBNdb("your_key_here");

Books #

  • Get book details
final book = isbnDb.getBook("9781092297370");
final book = isbnDb.getBook("9781092297370", withPrices: true);
ParamDescription
String isbnan ISBN 10 or ISBN 13 in the Books database
bool withPrices = falseindicate if shows Real Time Prices. Only with the Pro plan
  • Get many books with ISBNs (require Pro Plan on ISBNbn.com)
final books = isbnDb.getBooksFromISBNs(["9781092297370", "9781680506952"]);
ParamDescription
Lista list of ISBN 10 or ISBN 13 in the Books database
  • Search books
final books = isbnDb.getBooks("Google Flutter", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String queryA string to search for in the Book’s database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000
BookColumn columnSearch limited to a column

BookColumn is an enum with the following values:

  • title - Only searches in Books Title
  • author - Only searches books by the given Author
  • date_published - Only searches books in a given year, e.g. 1998

Authors #

  • Get author details
final book = isbnDb.getAuthor("Bussi Michel", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String nameThe name of an author in the Author's database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000
  • Search authors
final book = isbnDb.getAuthors("werber", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String queryA string to search for in the Author’s database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000

Publishers #

  • Get publisher details
final book = isbnDb.getPublisher("Nathan", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String nameThe name of a publisher in the Publisher's database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000
  • Search publishers
final book = isbnDb.getPublishers("Nathan", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String queryA string to search for in the Publisher’s database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000

Subjects #

  • Get subject details
final book = isbnDb.getSubject("Flutter");
ParamDescription
String nameA subject in the Subject's database
  • Search subjects
final book = isbnDb.getSubjects("flutter", { 
    page: 1, 
    pageSize: 20, 
});
ParamDescription
String queryA string to search for in the Subject’s database
String pageThe number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
String pageSizeHow many items should be returned per page, maximum of 1,000

Models #

AuthorQueryResult

NameTypeDescription
totalintNumber of results
authorsListAn array containing the authors

Author

NameTypeDescription
authorStringThe name of the author
booksListAn array containing the books of this author

BookQueryResult

NameTypeDescription
totalintNumber of results
booksListAn array containing the books of this query

Book

NameTypeDescription
titleStringTitle of the book
titleLongStringLong version of the title
isbnStringISBN
isbn13StringNew 13-digit ISBN
deweyDecimalStringNot documented in the official API
bindingStringNot documented in the official API
publisherStringThe name of the publisher
datePublishedDateTimeDate when the book was published. Can be a year or a full date.
editionStringDetails about the edition
pagesintNumber of pages of the book
dimensionsStringDimensions of the book
overviewStringNot documented in the official API
imageStringURL of the cover
msrpdoubleNot documented in the official API
excerptStringExcerpt of the book
synopsysStringSynopsys of the book
authorsListList of the authors
subjectsListList of the subjects of the book
reviewsListNot documented in the official API
pricesListList of the merchants selling this book with real-time prices
relatedListNot documented in the official API

Merchant

NameTypeDescription
conditionStringNumber of results
merchantStringName of the merchant
merchantLogoStringURL of the merchant logo
merchantLogoOffsetMapNot documented in the official API
shippingStringShipping cost
priceStringPrice of the book
totalStringNot documented in the official API
linkStringLink to the purchase url

PublisherQueryResult

NameTypeDescription
totalintNumber of results
publishersListAn array containing the publishers

Publisher

NameTypeDescription
nameStringThe name of the publisher
booksListAn array containing the books of this publisher

SubjectQueryResult

NameTypeDescription
totalintNumber of results
subjectsListAn array containing the subjects

Subject

NameTypeDescription
subjectStringThe subject
booksListAn array containing the books related to this subject

Third party packages #

This app uses some external librairies:

  • [x] Freezed to generate immutable models
  • [x] Dio for http requests

Credits #

This package was originally created for my personnal needs but feel free to use it, it covers all the features of the ISBNdb API and I will maintain it.

I am not related to ISBNdb in any way, I am just a developer who needed to use this API and created this library to do so.

If you have questions, feel free to ask on Twitter.

LICENSE: MIT #

4
likes
130
pub points
42%
popularity

Publisher

julienlebren.dev

Dart service for isbndb.com API. Returns book details from an ISBN, mist of books from an author name, etc.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

dio, flutter, freezed_annotation, intl, universal_io

More

Packages that depend on isbndb