
Research
/Security News
PolinRider Spreads Through Compromised GitHub Accounts and Packagist
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.
isbndb-client
Advanced tools
⚠️ Disclaimer: This is an unofficial TypeScript client for the ISBNdb API. It is not affiliated with, endorsed by, or connected to isbndb.com. This library is maintained independently and is not officially supported by ISBNdb.
A TypeScript client for the ISBNdb API, providing type-safe access to book metadata, author information, publisher details, and subject classifications.
npm install isbndb-client
# or
yarn add isbndb-client
import { createIsbndbClient, IsbndbService } from 'isbndb-client';
// Create a client with your API key
const client = createIsbndbClient('YOUR_API_KEY', 'PRO'); // 'BASIC', 'PREMIUM', or 'PRO'
const isbndb = new IsbndbService(client);
// Search for books
const searchResults = await isbndb.searchBooks('javascript');
console.log(searchResults.data.books);
// Get book details by ISBN
const bookDetails = await isbndb.getBook('9780131103627');
console.log(bookDetails.data.book);
// Search for authors
const authorResults = await isbndb.searchAuthors('Martin Fowler');
console.log(authorResults.data.authors);
getBook(isbn: string, withPrices?: boolean): Get book details by ISBNsearchBooks(query: string, options?: BookSearchOptions): Search for books by keywordgetAuthor(name: string, options?: AuthorDetailOptions): Get author details and their bookssearchAuthors(query: string, options?: AuthorSearchOptions): Search for authors by namegetPublisher(name: string, options?: PublisherDetailOptions): Get publisher details and their bookssearchPublishers(query: string, options?: PublisherSearchOptions): Search for publishersgetSubject(name: string): Get subject detailssearchSubjects(query: string, options?: SubjectSearchOptions): Search for subjectssearchIndex(index: "subjects" | "publishers" | "authors" | "books", options?: IndexSearchOptions): General search across indexesgetStats(): Get database statisticsThe client supports all ISBNdb subscription plans:
The appropriate API endpoint is automatically selected based on your plan.
The client provides standardized error handling with detailed error messages:
try {
await isbndb.getBook('invalid-isbn');
} catch (error) {
console.error(error);
// {
// status: 404,
// statusText: 'Not Found',
// message: 'Book not found',
// url: '/book/invalid-isbn'
// }
}
The project includes a comprehensive test suite. To run the tests:
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see the LICENSE file for details.
FAQs
A TypeScript client library for the ISBNdb API
We found that isbndb-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.

Company News
Allow myself to introduce... myself.