Dart/Flutter package for using ISBNdb API
This package is a ready-to-use API for ISBNdb.
⚠️ 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);
Param | Description |
---|---|
String isbn | an ISBN 10 or ISBN 13 in the Books database |
bool withPrices = false | indicate 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"]);
Param | Description |
---|---|
List | a list of ISBN 10 or ISBN 13 in the Books database |
- Search books
final books = isbnDb.getBooks("Google Flutter", {
page: 1,
pageSize: 20,
});
Param | Description |
---|---|
String query | A string to search for in the Book’s database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
BookColumn column | Search 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,
});
Param | Description |
---|---|
String name | The name of an author in the Author's database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
- Search authors
final book = isbnDb.getAuthors("werber", {
page: 1,
pageSize: 20,
});
Param | Description |
---|---|
String query | A string to search for in the Author’s database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
Publishers
- Get publisher details
final book = isbnDb.getPublisher("Nathan", {
page: 1,
pageSize: 20,
});
Param | Description |
---|---|
String name | The name of a publisher in the Publisher's database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
- Search publishers
final book = isbnDb.getPublishers("Nathan", {
page: 1,
pageSize: 20,
});
Param | Description |
---|---|
String query | A string to search for in the Publisher’s database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
Subjects
- Get subject details
final book = isbnDb.getSubject("Flutter");
Param | Description |
---|---|
String name | A subject in the Subject's database |
- Search subjects
final book = isbnDb.getSubjects("flutter", {
page: 1,
pageSize: 20,
});
Param | Description |
---|---|
String query | A string to search for in the Subject’s database |
String page | The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them |
String pageSize | How many items should be returned per page, maximum of 1,000 |
Models
AuthorQueryResult
Name | Type | Description |
---|---|---|
total | int | Number of results |
authors | List | An array containing the authors |
Author
Name | Type | Description |
---|---|---|
author | String | The name of the author |
books | List | An array containing the books of this author |
BookQueryResult
Name | Type | Description |
---|---|---|
total | int | Number of results |
books | List | An array containing the books of this query |
Book
Name | Type | Description |
---|---|---|
title | String | Title of the book |
titleLong | String | Long version of the title |
isbn | String | ISBN |
isbn13 | String | New 13-digit ISBN |
deweyDecimal | String | Not documented in the official API |
binding | String | Not documented in the official API |
publisher | String | The name of the publisher |
datePublished | DateTime | Date when the book was published. Can be a year or a full date. |
edition | String | Details about the edition |
pages | int | Number of pages of the book |
dimensions | String | Dimensions of the book |
overview | String | Not documented in the official API |
image | String | URL of the cover |
msrp | double | Not documented in the official API |
excerpt | String | Excerpt of the book |
synopsys | String | Synopsys of the book |
authors | List | List of the authors |
subjects | List | List of the subjects of the book |
reviews | List | Not documented in the official API |
prices | List | List of the merchants selling this book with real-time prices |
related | List | Not documented in the official API |
Merchant
Name | Type | Description |
---|---|---|
condition | String | Number of results |
merchant | String | Name of the merchant |
merchantLogo | String | URL of the merchant logo |
merchantLogoOffset | Map | Not documented in the official API |
shipping | String | Shipping cost |
price | String | Price of the book |
total | String | Not documented in the official API |
link | String | Link to the purchase url |
PublisherQueryResult
Name | Type | Description |
---|---|---|
total | int | Number of results |
publishers | List | An array containing the publishers |
Publisher
Name | Type | Description |
---|---|---|
name | String | The name of the publisher |
books | List | An array containing the books of this publisher |
SubjectQueryResult
Name | Type | Description |
---|---|---|
total | int | Number of results |
subjects | List | An array containing the subjects |
Subject
Name | Type | Description |
---|---|---|
subject | String | The subject |
books | List | An array containing the books related to this subject |
Third party packages
This app uses some external librairies:
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.