audible-api
Version:
A Node.js API for searching the audible website
101 lines • 3.1 kB
TypeScript
import { Book, Category, Duration, SearchLanguage } from "./types";
/**
* A set of parameters used to search the Audible website
*/
export interface SearchParams {
/**
* A general search string
*/
keywords?: string;
/**
* A title of a book to search for
*/
title?: string;
/**
* The name of an author to search for
*/
author?: string;
/**
* The name of a narrator to search for
*/
narrator?: string;
/**
* A publishing company to search for
*/
publisher?: string;
/**
* One of a predefined list of strings representing top level categories on Audible
*/
category?: Category;
/**
* Whether or not to limit the search to Audible Originals
*
* @defaultValue `false`
*/
isAudibleOriginal?: boolean;
/**
* Whether or not to limit the search to Audible's Plus Catalog
*
* @defaultValue `false`
*/
isPlusCatalog?: boolean;
/**
* A timeframe from a predefined list of when the book was released
*/
releaseTime?: "soon" | "last30" | "last90";
/**
* An array of strings representing the length of time the book can fall into
*
* Options: `<1` | `1-3` | `3-6` | `6-10` | `10-20` | `>20`;
*/
durations?: Duration[];
/**
* An array of ISO 639-1 langauges codes to limit the books to from a pre-defined list
*
* Options: `en` | `es` | `de` | `fr` | `it` | `pt` | `ja` | `ru` | `af` | `da` | `zh` | `nl`
*/
languages?: SearchLanguage[];
/**
* Whether or not to limit the results to Whisper Sync compatible books
*/
isWhisperSync?: boolean;
/**
* Pass this as either true or false to limit the results to abridged or unabridged books respectively
*/
isAbridged?: boolean;
/**
* The page number of the search results to view
*/
pageNum?: number;
/**
* The number of results to return
*
* @defaultValue `20`
*/
pageSize?: 20 | 30 | 40 | 50;
/**
* Whether or not to parse all of the information about each book from the search result, this will take much longer
*
* @defaultValue `false`
*/
getFull?: boolean;
/**
* A ISO 3166-1 alpha-2 country code representing the Audible site to search
*
* @defaultValue `us`
*/
site?: "us" | "ca" | "gb" | "au" | "fr" | "de" | "it";
}
declare type SearchResults = {
totalResults: number;
results: Book[];
};
/**
* Search the Audible website for a list of books matching your search criteria
*
* @param options - An object containing your search criteria
* @returns A promise returning an array of book objects from the search results, along with total results
*/
export default function searchAudible({ keywords, title, author, narrator, publisher, category, isAudibleOriginal, isPlusCatalog, releaseTime, durations, languages, isWhisperSync, isAbridged, pageNum, pageSize, getFull, site, }?: SearchParams): Promise<SearchResults>;
export {};
//# sourceMappingURL=search-audible.d.ts.map