# Spotify Audiobooks Search and Scraper 📚 (`apiharvest/spotify-audiobooks-search-and-scraper`) Actor

📚 Scrape Spotify audiobooks with full chapter listings, narrator names, publisher, star ratings, accessibility data, pricing & content descriptions. Turn on Fetch Details for paginated chapters and similar audiobook recommendations. Complete audiobook metadata from Spotify.

- **URL**: https://apify.com/apiharvest/spotify-audiobooks-search-and-scraper.md
- **Developed by:** [APIHarvest](https://apify.com/apiharvest) (community)
- **Categories:** Developer tools, Social media, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 result scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Spotify Audiobooks Scraper — Search & Scrape Complete Spotify Audiobook Data | Best Spotify Scraper

### What is the Spotify Audiobooks Scraper?

The **Spotify Audiobooks Scraper** is a production-ready Apify actor for searching and scraping Spotify audiobooks at scale. This Spotify audiobooks scraper extracts complete audiobook metadata including chapter listings, narrator info, publication dates, and similar audiobook recommendations — directly from Spotify. No Spotify API key, no login credentials, no developer account required.

Spotify launched its audiobook feature in select markets and has been rapidly expanding its catalog. This Spotify audiobooks scraper gives you programmatic access to audiobook metadata that is otherwise only available through the Spotify app.

---

### Important: Market Restrictions

**Spotify audiobooks are only available in select markets: US, GB, AU, CA, and a few others.** Searching from unsupported countries returns empty results. The Spotify audiobooks scraper defaults to US proxy for best results. Always set Proxy Country to US, GB, AU, or CA when using this Spotify audiobooks scraper.

---

### How Does This Spotify Audiobooks Scraper Work?

This Spotify audiobooks scraper operates in **two modes** that are auto-detected from your input:

#### Mode 1: Search Spotify Audiobooks by Keyword

Enter keywords and the Spotify audiobooks scraper searches Spotify's audiobook catalog. Search by title, author, narrator, genre, or any keyword.

**Example keywords:** `"Harry Potter"`, `"Stephen King"`, `"self help"`, `"business"`, `"sci-fi audiobook"`, `"thriller"`

#### Mode 2: Scrape Specific Spotify Audiobooks by URI or URL

Paste Spotify audiobook URIs or URLs directly. The Spotify audiobooks scraper accepts URI format (`spotify:show:ABC123`) and URL format (`https://open.spotify.com/show/ABC123`).

**Note:** Spotify audiobooks share the `spotify:show:` URI prefix with podcasts. The Spotify audiobooks scraper handles both correctly.

#### Auto-Detection

The Spotify audiobooks scraper automatically detects the mode:

- **Fill Search Keywords** → Spotify audiobooks search mode activates
- **Fill Spotify Audiobook URIs / URLs** → Spotify audiobook details mode activates
- **Fill both** → Runs search first, then fetches audiobook details

#### Detail Enrichment

Enable **Fetch Full Audiobook Details** to enrich search results with complete metadata including chapter listings and similar audiobook recommendations.

---

### Input Configuration

| Field | Mode | Description | Default |
|-------|------|-------------|---------|
| **Search Keywords** | Search | Keywords to search Spotify audiobooks. | — |
| **Spotify Audiobook URIs / URLs** | Details | `spotify:show:ID` or `https://open.spotify.com/show/ID` | — |
| **Proxy Country** | Both | **Must be US, GB, AU, or CA** for Spotify audiobooks. | US |
| **Search Offset** | Search | Starting position for search pagination. | 0 |
| **Search Limit** | Search | Maximum Spotify audiobooks per keyword. | 30 |
| **Top Results Count** | Search | Number of top-ranked Spotify audiobooks. | 20 |
| **Fetch Full Audiobook Details** | Search | Enrich Spotify audiobook search results with complete metadata. | OFF |
| **Include Similar Audiobooks** | Details | Fetch similar Spotify audiobook recommendations. | OFF |

#### Understanding Filters & Toggles

| Toggle / Filter | Default | What Happens When ON | What You Miss When OFF |
|----------------|---------|---------------------|----------------------|
| **Fetch Full Audiobook Details** | OFF | Each search result is enriched with complete metadata: full chapter listings (paginated), narrator names, publisher, star ratings, accessibility data, pricing info, and content descriptions. | You only get basic search data — audiobook name, author, image, and URI. No chapters, no narrator info, no ratings. |
| **Include Similar Audiobooks** | OFF | Fetches similar audiobook recommendations from Spotify. | No recommendation data. Note: Spotify has retired this API in some regions — may return empty results. |
| **Chapter Offset** | 0 | Start position in the chapter list. Use for paginating audiobooks with many chapters. | — |
| **Chapter Limit** | 50 | Max chapters to return from each audiobook. | — |
| **Search Limit** | 10 | Controls how many audiobook results you get per keyword. | — |
| **Search Offset** | 0 | Skip results for pagination. | — |

> **💡 Tip:** When using Audiobook URIs/URLs (Get Details mode), full details are **always** fetched automatically — the Fetch Full Audiobook Details toggle only applies to Search mode.

---

### Output Data Format

#### Search Result Example

```json
{
    "query": "Harry Potter",
    "uri": "spotify:show:ABC123",
    "name": "Harry Potter and the Philosopher's Stone",
    "author": "J.K. Rowling",
    "narrator": "Stephen Fry",
    "coverArt": {"sources": [{"url": "https://i.scdn.co/image/..."}]}
}
````

#### Full Detail Example

```json
{
    "uri": "spotify:show:ABC123",
    "name": "Harry Potter and the Philosopher's Stone",
    "description": "Turning the envelope over, his hand trembling...",
    "author": "J.K. Rowling",
    "narrator": "Stephen Fry",
    "publisher": "Pottermore Publishing",
    "language": "English",
    "coverArt": {"sources": [{"url": "https://i.scdn.co/image/...", "width": 640}]},
    "rating": {"averageRating": 4.9, "totalRatings": 125000},
    "chapters": {
        "totalCount": 17,
        "items": [
            {"name": "Chapter 1: The Boy Who Lived", "duration": {"totalMilliseconds": 1800000}},
            {"name": "Chapter 2: The Vanishing Glass", "duration": {"totalMilliseconds": 1500000}}
        ]
    },
    "similarAudiobooks": [
        {"name": "Harry Potter and the Chamber of Secrets", "uri": "spotify:show:..."},
        {"name": "Fantastic Beasts and Where to Find Them", "uri": "spotify:show:..."}
    ]
}
```

***

### Step-by-Step Tutorial

#### How to Search Spotify Audiobooks

1. Go to the **Spotify Audiobooks Scraper** actor page
2. Enter keywords like `"Harry Potter"`, `"thriller"`, `"business"`
3. Set **Proxy Country** to **US** (required for Spotify audiobooks)
4. (Optional) Enable **Fetch Full Audiobook Details** for chapter listings
5. Click **Start** and download results

#### How to Scrape Specific Spotify Audiobooks

1. Copy Spotify audiobook URIs or URLs from the Spotify app
2. Paste into the **Spotify Audiobook URIs / URLs** field
3. (Optional) Enable **Include Similar Audiobooks** for recommendations
4. Click **Start**

***

### Common Use Cases for This Spotify Scraper (Audiobooks)

#### Audiobook Market Research

Analyze Spotify's audiobook catalog growth, popular categories, ratings, and publisher distribution. The Spotify audiobooks scraper provides structured data for market reports.

#### Publisher & Author Monitoring

Track new audiobook releases on Spotify by specific publishers or authors. Schedule the Spotify audiobooks scraper for regular catalog snapshots.

#### Recommendation Analysis

Study Spotify's audiobook recommendation algorithm by scraping similar audiobooks. The Spotify audiobooks scraper extracts recommendation data for analysis.

#### Content Catalog Building

Build audiobook databases using metadata from the Spotify audiobooks scraper. Get structured chapter listings, narrator info, and ratings at scale.

#### Competitive Intelligence

Compare audiobook offerings across platforms by scraping Spotify's catalog. The Spotify audiobooks scraper reveals pricing, ratings, and availability data.

***

### Why Choose This Spotify Scraper Over Others?

Most Spotify scrapers on Apify return incomplete or reformatted data — missing fields, simplified structures, or outdated endpoints. This spotify scraper is different. It delivers **every single data field** that Spotify provides internally — the exact same data the real Spotify app uses.

| Feature | This Spotify Scraper | Other Actors on Apify |
|---------|---------------------|----------------------|
| **Data completeness** | Every field Spotify returns — full chapter listings, narrator info, publisher, ratings, accessibility data, and purchase information | Partial data, missing key fields |
| **Authentication** | No API key, no login, no developer account | Often require Spotify API credentials |
| **Rate limits** | No limits — automatic token rotation | Restricted by official API quotas |
| **Data structure** | Raw Spotify format — identical to real Spotify app | Reformatted, simplified, or flattened |
| **Proxy support** | 50+ residential proxy countries | Limited or no proxy options |
| **Pricing** | Pay per result — you only pay for data delivered | Flat fees, subscriptions, or usage caps |
| **Reliability** | Auto-adapts to Spotify API changes — always up to date | Hardcoded endpoints that break on updates |

> **Bottom line:** If Spotify shows it, this spotify scraper extracts it. No other Spotify audiobook actor on Apify gives you this level of complete, production-ready data.

### Frequently Asked Questions

**Q: Does this Spotify audiobooks scraper require a Spotify account?**
A: No. The Spotify audiobooks scraper works without any authentication.

**Q: Why do I get empty results?**
A: Spotify audiobooks are only available in US, GB, AU, CA and a few other markets. Set **Proxy Country** to US for the best Spotify audiobooks scraper results.

**Q: Audiobooks use `spotify:show:` URI — same as podcasts?**
A: Yes. Both Spotify audiobooks and podcasts share the `spotify:show:` prefix. The Spotify audiobooks scraper handles audiobooks specifically through Spotify's audiobook search API.

**Q: Can I get chapter listings for a Spotify audiobook?**
A: Yes. Use Get Details mode or enable Fetch Details in search mode. The Spotify audiobooks scraper returns complete chapter listings with durations.

**Q: Can I find similar audiobooks?**
A: Yes. Enable **Include Similar Audiobooks** and the Spotify audiobooks scraper returns recommendations for each audiobook.

**Q: Is there a limit on how many Spotify audiobooks I can scrape?**
A: No hard limit. The Spotify audiobooks scraper processes as many as your spending limit allows.

***

### Related Spotify Scrapers by apiharvest

| Actor | Description |
|-------|-------------|
| [Spotify Tracks Scraper](https://apify.com/apiharvest/spotify-tracks-search-and-scraper) | Search & scrape Spotify track metadata with play counts |
| [Spotify Albums Scraper](https://apify.com/apiharvest/spotify-albums-search-and-scraper) | Search & scrape Spotify album metadata with track listings |
| [Spotify Artists Scraper](https://apify.com/apiharvest/spotify-artists-search-and-scraper) | Search & scrape Spotify artist profiles and discography |
| [Spotify Playlists Scraper](https://apify.com/apiharvest/spotify-playlists-search-and-scraper) | Search & scrape Spotify playlists with full track listings |
| [Spotify Genres Scraper](https://apify.com/apiharvest/spotify-genres-search-and-scraper) | Search & browse Spotify genre/mood pages |
| [Spotify Episodes Scraper](https://apify.com/apiharvest/spotify-episodes-search-and-scraper) | Search & scrape Spotify podcast episodes |
| [Spotify Podcasts Scraper](https://apify.com/apiharvest/spotify-podcasts-search-and-scraper) | Search & scrape Spotify podcasts/shows with episode listings |
| [Spotify Users Scraper](https://apify.com/apiharvest/spotify-users-search-and-profile-scraper) | Search & scrape Spotify user profiles with playlists |
| [Spotify Search — All Types](https://apify.com/apiharvest/spotify-search-all-types) | Search all 9 Spotify content types in one actor |
| [Spotify Scraper — Get Full Details](https://apify.com/apiharvest/spotify-scraper-get-full-details) | Get full details for 8 Spotify content types from URIs |

***

### 🏷️ Keywords

spotify scraper, spotify audiobook scraper, scrape spotify audiobooks, spotify data extractor, spotify audiobook data, apify spotify, spotify api alternative, best spotify scraper

# Actor input Schema

## `keyword` (type: `array`):

One or more search terms to find audiobooks on Spotify.
⚠️ Audiobooks are only available in US, GB, AU, CA markets.

💡 Leave empty and fill Spotify URIs below to use Get Details mode instead.

## `spotifyUris` (type: `array`):

One or more Spotify show URIs or URLs to fetch audiobook metadata.
Examples: spotify:show:ID · https://open.spotify.com/show/ID

⚠️ Only show URIs/URLs are accepted (audiobooks use spotify:show: prefix).
💡 Leave empty and fill Search Keywords above to use Search mode instead.

## `proxyCountry` (type: `string`):

⚠️ Audiobooks only available in US, GB, AU, CA — other countries return empty results.
⭐ US recommended.

## `audiobooks_search_offset` (type: `integer`):

Starting position for search pagination.

## `audiobooks_search_limit` (type: `integer`):

Maximum number of results per keyword.

## `audiobooks_search_numberOfTopResults` (type: `integer`):

Number of top-ranked items.

## `audiobooks_fetchDetails` (type: `boolean`):

������ Search mode only — Get Details mode always fetches full details.

✅ When ON — fetches full audiobook metadata for every search result. You get: complete chapter listings (paginated), narrator names, publisher, star ratings, accessibility data, pricing info, and content descriptions.

❌ When OFF — you only get basic search data: audiobook name, author, image, and URI. You will NOT get chapters, narrator info, ratings, or any detailed metadata.

⚠️ Slower — extra API calls per search result.

## `audiobooks_get_offset` (type: `integer`):

Starting position in the chapter list. 0 = chapter 1.

## `audiobooks_get_limit` (type: `integer`):

Maximum number of chapters to fetch per audiobook.

## `audiobooks_includeSimilar` (type: `boolean`):

✅ When ON — fetches similar audiobook recommendations from Spotify. Adds related titles you might miss otherwise.

❌ When OFF — no recommendations returned. Turn ON if you want discovery data for related audiobooks.

⚠️ Spotify has retired this API in some regions — may return empty results.

## Actor input object example

```json
{
  "keyword": [
    "Harry Potter",
    "Stephen King"
  ],
  "spotifyUris": [
    "spotify:show:5j1loyWwAX3rriMYI2VLpF",
    "https://open.spotify.com/show/4AFdmpVC09311BTS8Fx7vQ"
  ],
  "proxyCountry": "US",
  "audiobooks_search_offset": 0,
  "audiobooks_search_limit": 30,
  "audiobooks_search_numberOfTopResults": 20,
  "audiobooks_fetchDetails": false,
  "audiobooks_get_offset": 0,
  "audiobooks_get_limit": 50,
  "audiobooks_includeSimilar": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": [
        "Harry Potter",
        "Stephen King"
    ],
    "spotifyUris": [
        "spotify:show:5j1loyWwAX3rriMYI2VLpF",
        "https://open.spotify.com/show/4AFdmpVC09311BTS8Fx7vQ"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apiharvest/spotify-audiobooks-search-and-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keyword": [
        "Harry Potter",
        "Stephen King",
    ],
    "spotifyUris": [
        "spotify:show:5j1loyWwAX3rriMYI2VLpF",
        "https://open.spotify.com/show/4AFdmpVC09311BTS8Fx7vQ",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("apiharvest/spotify-audiobooks-search-and-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keyword": [
    "Harry Potter",
    "Stephen King"
  ],
  "spotifyUris": [
    "spotify:show:5j1loyWwAX3rriMYI2VLpF",
    "https://open.spotify.com/show/4AFdmpVC09311BTS8Fx7vQ"
  ]
}' |
apify call apiharvest/spotify-audiobooks-search-and-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=apiharvest/spotify-audiobooks-search-and-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Spotify Audiobooks Search and Scraper 📚",
        "description": "📚 Scrape Spotify audiobooks with full chapter listings, narrator names, publisher, star ratings, accessibility data, pricing & content descriptions. Turn on Fetch Details for paginated chapters and similar audiobook recommendations. Complete audiobook metadata from Spotify.",
        "version": "0.0",
        "x-build-id": "TrmmM5uFIpaULagn8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/apiharvest~spotify-audiobooks-search-and-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-apiharvest-spotify-audiobooks-search-and-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/apiharvest~spotify-audiobooks-search-and-scraper/runs": {
            "post": {
                "operationId": "runs-sync-apiharvest-spotify-audiobooks-search-and-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/apiharvest~spotify-audiobooks-search-and-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-apiharvest-spotify-audiobooks-search-and-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "🔍 Search Keyword(s)",
                        "type": "array",
                        "description": "One or more search terms to find audiobooks on Spotify.\n⚠️ Audiobooks are only available in US, GB, AU, CA markets.\n\n💡 Leave empty and fill Spotify URIs below to use Get Details mode instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "spotifyUris": {
                        "title": "🔗 Spotify Audiobook URIs / URLs",
                        "type": "array",
                        "description": "One or more Spotify show URIs or URLs to fetch audiobook metadata.\nExamples: spotify:show:ID · https://open.spotify.com/show/ID\n\n⚠️ Only show URIs/URLs are accepted (audiobooks use spotify:show: prefix).\n💡 Leave empty and fill Search Keywords above to use Search mode instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyCountry": {
                        "title": "🌐 Proxy Country",
                        "enum": [
                            "US",
                            "GB",
                            "AU",
                            "CA",
                            "DE",
                            "FR",
                            "NL",
                            "IT",
                            "ES",
                            "SE",
                            "NO",
                            "DK",
                            "FI",
                            "BE",
                            "AT",
                            "CH",
                            "IE",
                            "PL",
                            "PT",
                            "CZ",
                            "HU",
                            "RO",
                            "GR",
                            "BG",
                            "HR",
                            "SK",
                            "RS",
                            "JP",
                            "KR",
                            "SG",
                            "HK",
                            "TW",
                            "TH",
                            "MY",
                            "ID",
                            "PH",
                            "VN",
                            "IN",
                            "BR",
                            "MX",
                            "AR",
                            "CL",
                            "CO",
                            "PE",
                            "ZA",
                            "NG",
                            "KE",
                            "EG",
                            "SA",
                            "AE",
                            "TR",
                            "IL",
                            "UA",
                            "RU",
                            "BY"
                        ],
                        "type": "string",
                        "description": "⚠️ Audiobooks only available in US, GB, AU, CA — other countries return empty results.\n⭐ US recommended.",
                        "default": "US"
                    },
                    "audiobooks_search_offset": {
                        "title": "📄 Search Offset",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Starting position for search pagination.",
                        "default": 0
                    },
                    "audiobooks_search_limit": {
                        "title": "📊 Search Limit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of results per keyword.",
                        "default": 30
                    },
                    "audiobooks_search_numberOfTopResults": {
                        "title": "🏆 Top Results Count",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Number of top-ranked items.",
                        "default": 20
                    },
                    "audiobooks_fetchDetails": {
                        "title": "🔄 Fetch Full Audiobook Details",
                        "type": "boolean",
                        "description": "������ Search mode only — Get Details mode always fetches full details.\n\n✅ When ON — fetches full audiobook metadata for every search result. You get: complete chapter listings (paginated), narrator names, publisher, star ratings, accessibility data, pricing info, and content descriptions.\n\n❌ When OFF — you only get basic search data: audiobook name, author, image, and URI. You will NOT get chapters, narrator info, ratings, or any detailed metadata.\n\n⚠️ Slower — extra API calls per search result.",
                        "default": false
                    },
                    "audiobooks_get_offset": {
                        "title": "📄 Chapter List Offset",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Starting position in the chapter list. 0 = chapter 1.",
                        "default": 0
                    },
                    "audiobooks_get_limit": {
                        "title": "📊 Chapter List Limit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of chapters to fetch per audiobook.",
                        "default": 50
                    },
                    "audiobooks_includeSimilar": {
                        "title": "🔗 Include Similar Audiobooks",
                        "type": "boolean",
                        "description": "✅ When ON — fetches similar audiobook recommendations from Spotify. Adds related titles you might miss otherwise.\n\n❌ When OFF — no recommendations returned. Turn ON if you want discovery data for related audiobooks.\n\n⚠️ Spotify has retired this API in some regions — may return empty results.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
