Skip to content

audible-api-ts

The first fully typed TypeScript client for the Audible API. Authentication, library, wishlist, catalog search — all with complete type safety.

Type-safe

Every function, every response, every credential — fully typed with TypeScript. No any, no guessing.

10 Locales

France, US, UK, Germany, Italy, Spain, Canada, Australia, India, Japan — all supported out of the box.

PKCE Authentication

Complete OAuth2 PKCE flow with device registration, just like the official Audible mobile app.

Full Data

Ratings, categories, listening progress, series, cover images, relationships — every field from the API.

import { login, register, library, catalog } from 'audible-api-ts'
// Authenticate
const { loginUrl, session, cookies } = await login('com')
const credentials = await register(authorizationCode, session)
// Fetch your library with full details
const { items: library } = await library(credentials)
library.map((book) => {
const rating = book.rating?.overallDistribution
const progress = book.listeningStatus?.percentComplete
console.log(`${book.title} by ${book.authors.join(', ')}`)
if (rating) console.log(` ${rating.averageRating.toFixed(1)}/5 (${rating.numRatings} ratings)`)
if (book.series) console.log(` Series: ${book.series.name} #${book.series.position}`)
if (progress) console.log(` Progress: ${progress}%`)
})
// Search the catalog for Sci-Fi
const { items: scifi } = await catalog(credentials, {
category: 'science-fiction', // genre name, resolved per locale
limit: 5, // Relevance is the default sort
})
scifi.map((book) =>
console.log(`${book.title}${book.rating?.overallDistribution?.averageRating?.toFixed(1)}/5`)
)

Output:

Primal Hunter by Zogarth
4.8/5 (156 ratings)
Series: Primal Hunter #4
Progress: 5%
Dune by Frank Herbert
4.7/5 (45210 ratings)
Project Hail Mary — 4.9/5
Dune — 4.7/5
The Hitchhiker's Guide to the Galaxy — 4.6/5

There is an excellent Python Audible library by mkb79. But if you’re building with TypeScript or Node.js, you’ve been on your own — until now.

audible-api-ts brings the same power to the TypeScript ecosystem: full PKCE authentication, signed API requests, paginated data fetching, catalog search, and complete type definitions for every response.