Audible API: List best sellers
Lists the current bestselling audiobooks of an Audible store (United States, United Kingdom, Canada, Australia, India, Germany, France, Italy, Spain, Brazil or Japan), overall or in one chart category, in chart order with listed prices.
Unofficial. Not affiliated with or endorsed by Audible.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Country optional
country Audible store country, such as United States, United Kingdom or Canada.
Germany
Default
United States.- Category optional
category Audible chart category, such as Mysteries & Thrillers or Business & Careers. Leave blank for all categories.
Business & Careers
Default
.- Max Results optional
max_results Number of ranked audiobooks to return, such as 20.
3
Whole number from 1 to 100. Default
20.
Input as JSON
{ "country": "Germany", "category": "Business & Careers", "max_results": 3}Output
{ "best_sellers": [ { "asin": "B0FGG978RQ", "rank": 1, "price": 18.94, "title": "How to Disagree Better", "length": "9 hrs and 4 mins", "authors": [ "Julia Minson" ], "narrators": [ "Julia Minson" ], "audible_link": "https://www.audible.de/en_GB/pd/How-to-Disagree-Better-Audiobook/B0FGG978RQ" , "release_date": "2026-03-24", "currency_code": "EUR", "average_rating": 3, "number_of_ratings": 1 }, { "asin": "1524779261", "rank": 2, "price": 14.73, "title": "Atomic Habits", "length": "5 hrs and 35 mins", "authors": [ "James Clear" ], "narrators": [ "James Clear" ], "audible_link": "https://www.audible.de/en_GB/pd/Atomic-Habits-Audiobook/1524779261" , "release_date": "2018-10-16", "currency_code": "EUR", "average_rating": 4.8, "number_of_ratings": 6415 }, { "asin": "B0DFMXSD81", "rank": 3, "price": 18.94, "title": "The Let Them Theory", "length": "10 hrs and 38 mins", "authors": [ "Mel Robbins" ], "narrators": [ "Mel Robbins" ], "audible_link": "https://www.audible.de/en_GB/pd/The-Let-Them-Theory-Audiobook/B0DFMXSD81" , "release_date": "2024-12-24", "currency_code": "EUR", "average_rating": 4.6, "number_of_ratings": 539 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"audible.com/list_best_sellers","input":{"country":"Germany","category":"Business & Careers","max_results":3}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "audible.com/list_best_sellers" , "input": { "country": "Germany", "category": "Business & Careers", "max_results": 3 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "audible.com/list_best_sellers" , "input": { "country": "Germany", "category": "Business & Careers", "max_results": 3 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run audible.com/list_best_sellers# with {"country":"Germany","category":"Business & Careers","max_results":3}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "properties": { "country": { "type": "string", "default": "United States", "description": "Audible store country, such as United States, United Kingdom or Canada." }, "category": { "type": "string", "default": "", "description": "Audible chart category, such as Mysteries & Thrillers or Business & Careers. Leave blank for all categories." }, "max_results": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1, "description": "Number of ranked audiobooks to return, such as 20." } }}Output schema
{ "type": "object", "required": [ "best_sellers" ], "properties": { "best_sellers": { "type": "array", "items": { "type": "object", "required": [ "rank", "title", "authors", "narrators", "length", "average_rating", "number_of_ratings", "price", "currency_code", "release_date", "audible_link", "asin" ], "properties": { "asin": { "type": "string", "x-fous-developer": true }, "rank": { "type": "integer", "description": "Position in the bestseller chart." }, "price": { "type": [ "number", "null" ], "description": "Listed purchase price, or null when absent." }, "title": { "type": "string" }, "length": { "type": [ "string", "null" ] }, "authors": { "type": "array", "items": { "type": "string" } }, "narrators": { "type": "array", "items": { "type": "string" } }, "audible_link": { "type": "string", "format": "uri" }, "release_date": { "type": [ "string", "null" ], "format": "date" }, "currency_code": { "type": "string", "description": "Currency of the listed price." }, "average_rating": { "type": [ "number", "null" ], "description": "Average rating out of 5, or null when unrated." }, "number_of_ratings": { "type": [ "integer", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
audible.com/list_best_sellers- Returns
- rank, title, authors, narrators, length, average rating, number of ratings, price, currency, release date, Audible link, ASIN
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method audible.com/list_best_sellers with the inputs above.
Ask your agent
- What are the top 10 bestselling audiobooks on Audible UK right now, with prices and ratings?
- Show me the current best-selling mystery and thriller audiobooks in Canada — I want around 25 titles with narrators and runtimes.
- Which business and career audiobooks are charting highest in Germany at the moment? Give me the top 15 with euro prices.
- I need the full top 50 audiobook chart for Australia today, including authors, average rating and number of reviews.
- Pull the current Audible Japan bestseller list in sci-fi & fantasy, top 30, with release dates and ASINs.
See more
All Audible methodsLooks up an audiobook in an Audible store by title (optionally narrowed by author) or by Audible book link, and returns its details, narrators, length, rating, visitor price, series, publisher summary and whether that store's Plus Catalog includes it.
audible.com/get_audiobookLists current Amazon Best Sellers in the closest matching top-level category for a store country (United States, United Kingdom, Germany, India, Canada or Australia), up to 100 ranked products. Prices, ratings and photos may be missing.
amazon.com/list_best_sellersLists ranked iPhone or iPad apps from the public App Store charts for a chart, category, and country. App bundles and apps that are no longer available are left out.
apps.apple.com/list_top_chartsLists the current top songs, albums, or music videos on Apple Music for a country, in chart order. Countries without an Apple Music chart return no results.
music.apple.com/list_top_chartsLists Apple Podcasts chart entries in rank order for a country and category, as top shows or top episodes.
podcasts.apple.com/list_top_podcastsLists Spotify's top or trending podcasts for a country in chart order, with rank, movement, publisher, artwork and Spotify link. Category charts exist only for some countries.
open.spotify.com/list_top_podcastsLists ranked Android apps or games from the Google Play top free, top paid or top grossing chart for a country and category.
play.google.com/list_top_chartsLists the ranked Microsoft Store apps or games in a top chart, optionally for one category and country. Paid listings without a published numeric price return a null price.
apps.microsoft.com/list_top_charts