A simple helper library that wraps all the functionality provided by the cgi-based API found at
In order to use this library, you need to sign up for a developer account through ISBNdb.com. As of July 2012, developer accounts are free for up to 500 requests per day.
Within the context of his helper library, each 'page' of data represents a single request.
Simple Usage Example
// get an API object to run our request against
var api = new Isbndb("MY-API-KEY-HERE");
// build a request that will look for all books with a Title = "Der Besuch der Alten Dame"
var request = new BooksRequest(BookArgs.Arguments.title, "Der Besuch der Alten Dame");
// execute the request
var response = api.ExecuteBookRequest(request);
// the response results are paginated -> can be enumerated through the pages collection.
// if there was a problem loading a page, the Pages collection PageLoadingError will contain a reference to
// the exception that was thrown
if (response.Pages.PageLoadingError != null)
Console.WriteLine("Error: " + response.Pages.PageLoadingError.ToString());
// MaximumResultsCount is the actual results contained in all pages.
else if (response.MaximumResultsCount > 0)
// Write the ISBN and Publisher_ID of the first book that was retrieved
BookData book = response.Pages.Items as BookData;
Console.WriteLine("ISBN:\t" + book.ISBN);
Console.WriteLine("Publisher ID:\t" + book.PublisherID);
This project is not associated with or endorsed by ISBNdb.com. This software is provided completely as-is with no express or implied warranty. You must use read the readme.txt or the license file attached to this project for full details.