# Spotify Episodes Search and Scraper 🎙️ (`apiharvest/spotify-episodes-search-and-scraper`) Actor

🎙️ Scrape Spotify podcast episodes with transcripts, audio segments, creator info, content ratings, playability status, preview playback URLs & release dates. Fetch Details full episode enrichment including podcast show info. Every episode field Spotify has. ✨Spotify Episodes Search and Scraper 🎙️

- **URL**: https://apify.com/apiharvest/spotify-episodes-search-and-scraper.md
- **Developed by:** [APIHarvest](https://apify.com/apiharvest) (community)
- **Categories:** Automation, Developer tools, Social media
- **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 Episodes Scraper — Search & Scrape Complete Spotify Episode Data | Best Spotify Scraper | Best Spotify Scraper

### What is the Spotify Episodes Scraper?

The **Spotify Episodes Scraper** is a production-ready Apify actor for searching and scraping individual Spotify podcast episodes at scale. This Spotify episodes scraper extracts complete episode metadata including show info, descriptions, durations, release dates, and recommended episodes — directly from Spotify. No Spotify API key, no login credentials, no developer account required.

While the Spotify Podcasts Scraper focuses on show-level data, this Spotify episodes scraper is designed for episode-level research — finding and extracting data about specific podcast episodes across Spotify's entire catalog.

---

### How Does This Spotify Episodes Scraper Work?

This Spotify episodes scraper operates in **two modes** that are auto-detected from your input:

#### Mode 1: Search Spotify Episodes by Keyword

Enter keywords and the Spotify episodes scraper searches Spotify's episode catalog. Search by topic, guest name, show title, or any keyword to find matching Spotify episodes.

**Example keywords:** `"artificial intelligence"`, `"true crime murder"`, `"Joe Rogan Elon Musk"`, `"cooking tips"`, `"bitcoin 2024"`

#### Mode 2: Scrape Specific Spotify Episodes by URI or URL

Paste Spotify episode URIs or URLs directly. The Spotify episodes scraper accepts URI format (`spotify:episode:ABC123`) and URL format (`https://open.spotify.com/episode/ABC123`).

#### Auto-Detection

The Spotify episodes scraper automatically detects the mode:

- **Fill Search Keywords** → Spotify episodes search mode activates
- **Fill Spotify Episode URIs / URLs** → Spotify episode details mode activates
- **Fill both** → Runs search first, then fetches episode details

#### Recommended Episodes

The Spotify episodes scraper can optionally fetch **recommended episodes** — Spotify's algorithm-generated suggestions based on each episode. Enable **Include Recommended Episodes** to discover related Spotify episodes.

---

### Input Configuration

| Field | Mode | Description | Default |
|-------|------|-------------|---------|
| **Search Keywords** | Search | Keywords to search Spotify episodes. | — |
| **Spotify Episode URIs / URLs** | Details | `spotify:episode:ID` or `https://open.spotify.com/episode/ID` | — |
| **Proxy Country** | Both | Residential proxy country. US recommended. | US |
| **Search Offset** | Search | Starting position for search pagination. | 0 |
| **Search Limit** | Search | Maximum Spotify episodes per keyword. | 30 |
| **Fetch Full Episode Details** | Search | Enrich Spotify episode search results with complete metadata. | OFF |
| **Include Recommended Episodes** | Details | Fetch Spotify's recommended episodes based on each episode. | OFF |

#### Understanding Filters & Toggles

| Toggle / Filter | Default | What Happens When ON | What You Miss When OFF |
|----------------|---------|---------------------|----------------------|
| **Fetch Full Episode Details** | OFF | Each search result is enriched with complete metadata: transcripts, audio segments, creator info, content ratings, playability status, preview playback URLs, and release date. | You only get basic search data — episode name, show name, description, duration, and URI. No transcripts, no segments, no playability info. |
| **Include Recommended Episodes** | OFF | Fetches recommended episodes based on Spotify's listening context. Gives you related episode suggestions. | No recommendation data returned. |
| **Search Limit** | 10 | Controls how many episode results you get per keyword. | — |
| **Search Offset** | 0 | Skip results for pagination. | — |

> **💡 Tip:** When using Episode URIs/URLs (Get Details mode), full details are **always** fetched automatically — the Fetch Full Episode Details toggle only applies to Search mode.

**Note:** Spotify's episode search API does not support `numberOfTopResults`. This is a Spotify API limitation, not a Spotify episodes scraper limitation.

---

### Output Data Format

#### Search Result Example

```json
{
    "query": "artificial intelligence",
    "uri": "spotify:episode:ABC123",
    "name": "The Future of AI with Sam Altman",
    "description": "In this episode we discuss...",
    "duration": {"totalMilliseconds": 5400000},
    "releaseDate": {"isoString": "2024-03-15"},
    "coverArt": {"sources": [{"url": "https://i.scdn.co/image/..."}]},
    "podcastV2": {"data": {"name": "Lex Fridman Podcast", "uri": "spotify:show:..."}}
}
````

#### Full Detail Example

```json
{
    "uri": "spotify:episode:ABC123",
    "name": "The Future of AI with Sam Altman",
    "description": "In this episode, Lex Fridman interviews Sam Altman about...",
    "htmlDescription": "<p>In this episode...</p>",
    "duration": {"totalMilliseconds": 5400000},
    "releaseDate": {"isoString": "2024-03-15T00:00:00Z"},
    "coverArt": {"sources": [{"url": "https://i.scdn.co/image/...", "width": 640}]},
    "isPlayable": true,
    "contentRating": {"label": "NONE"},
    "podcastV2": {
        "data": {
            "name": "Lex Fridman Podcast",
            "uri": "spotify:show:...",
            "coverArt": {"sources": [{"url": "https://..."}]},
            "publisher": {"name": "Lex Fridman"}
        }
    },
    "audio": {"items": [{"url": "https://...", "expiresAt": 1234567890}]},
    "transcripts": {"items": []},
    "recommendedEpisodes": [
        {"name": "GPT-5 and Beyond", "uri": "spotify:episode:...", "show": "AI Podcast"},
        {"name": "OpenAI Deep Dive", "uri": "spotify:episode:...", "show": "Tech Talk"}
    ]
}
```

***

### Step-by-Step Tutorial

#### How to Search Spotify Episodes

1. Go to the **Spotify Episodes Scraper** actor page
2. Enter keywords like `"AI"`, `"true crime"`, `"business tips"`, `"health"`
3. Set **Proxy Country** to US
4. Adjust **Search Limit** for more or fewer Spotify episodes
5. (Optional) Enable **Fetch Full Episode Details**
6. Click **Start** and download results

#### How to Scrape Specific Spotify Episodes

1. Copy Spotify episode URIs or URLs from the Spotify app
2. Paste into the **Spotify Episode URIs / URLs** field
3. (Optional) Enable **Include Recommended Episodes** for discovery
4. Click **Start**

***

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

#### Podcast Research & Topic Analysis

Search Spotify episodes by topic to analyze coverage patterns, guest appearances, and discussion trends. The Spotify episodes scraper lets you map the podcast landscape for any subject.

#### Content Discovery

Find relevant Spotify episodes across thousands of shows. The Spotify episodes scraper searches episode titles and descriptions — more granular than show-level search.

#### Competitive Monitoring

Track competitor podcast episodes as they release. Schedule the Spotify episodes scraper to detect new Spotify episodes about specific topics.

#### Recommendation Engine Building

Use the Spotify episodes scraper's recommended episodes feature to map Spotify's recommendation graph and build your own discovery engine.

#### Academic Research

Study podcast ecosystem dynamics, episode publishing patterns, or content trends using large-scale Spotify episode data.

#### Advertising & Sponsorship Research

Identify popular Spotify episodes in target niches for potential ad placements or sponsorship opportunities.

***

### 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 — transcripts, segments, creator info, playability data, content ratings, and preview playback URLs | 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 episode actor on Apify gives you this level of complete, production-ready data.

### Frequently Asked Questions

**Q: Does this Spotify episodes scraper require a Spotify account?**
A: No. Works without any authentication.

**Q: Why is there no Top Results setting for Spotify episode search?**
A: Spotify's episode search API does not support the `numberOfTopResults` parameter. This is a Spotify API limitation.

**Q: What's the difference between this and the Spotify Podcasts Scraper?**
A: This Spotify episodes scraper searches and scrapes individual episodes. The Spotify Podcasts Scraper focuses on show-level data with episode listings. Use this Spotify episodes scraper for episode-specific research.

**Q: Can I get episode transcripts?**
A: The Spotify episodes scraper returns a `transcripts` field, but Spotify does not expose full transcripts through this API for most episodes.

**Q: Can I discover related episodes?**
A: Yes. Enable **Include Recommended Episodes** and the Spotify episodes scraper returns Spotify's algorithm-generated recommendations for each episode.

**Q: Is there a limit on episodes?**
A: No hard limit. The Spotify episodes scraper processes as many Spotify episodes as your spending limit allows.

***

### Related Spotify Scrapers by apiharvest

| Actor | Description |
|-------|-------------|
| [Spotify Podcasts Scraper](https://apify.com/apiharvest/spotify-podcasts-search-and-scraper) | Search & scrape Spotify podcasts/shows with episode listings |
| [Spotify Tracks Scraper](https://apify.com/apiharvest/spotify-tracks-search-and-scraper) | Search & scrape Spotify track metadata |
| [Spotify Albums Scraper](https://apify.com/apiharvest/spotify-albums-search-and-scraper) | Search & scrape Spotify album metadata |
| [Spotify Artists Scraper](https://apify.com/apiharvest/spotify-artists-search-and-scraper) | Search & scrape Spotify artist profiles |
| [Spotify Playlists Scraper](https://apify.com/apiharvest/spotify-playlists-search-and-scraper) | Search & scrape Spotify playlists |
| [Spotify Genres Scraper](https://apify.com/apiharvest/spotify-genres-search-and-scraper) | Browse Spotify genre/mood pages |
| [Spotify Audiobooks Scraper](https://apify.com/apiharvest/spotify-audiobooks-search-and-scraper) | Search & scrape Spotify audiobooks |
| [Spotify Users Scraper](https://apify.com/apiharvest/spotify-users-search-and-profile-scraper) | Search & scrape Spotify user profiles |
| [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 |

***

### 🏷️ Keywords

spotify scraper, spotify episode scraper, scrape spotify episodes, spotify podcast episode scraper, spotify data extractor, apify spotify, spotify api alternative, best spotify scraper

# Actor input Schema

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

One or more search terms to find podcast episodes on Spotify.

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

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

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

💡 Leave empty and fill Search Keywords above to use Search mode instead.

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

Select a proxy country for scraping. ⭐ US recommended for best results.

## `episodes_search_offset` (type: `integer`):

Starting position for search pagination.

## `episodes_search_limit` (type: `integer`):

Maximum number of results per keyword.

## `episodes_fetchDetails` (type: `boolean`):

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

✅ When ON — fetches full episode metadata for every search result. You get: transcripts, audio segments, creator info, content ratings, playability status, preview playback URLs, and release date.

❌ When OFF — you only get basic search data: episode name, show name, description, duration, and URI. You will NOT get transcripts, segments, playability, or detailed metadata.

⚠️ Slower — extra API calls per search result.

## `episodes_includeRecommended` (type: `boolean`):

✅ When ON — fetches recommended episodes based on Spotify's listening context. Gives you related episode suggestions.

❌ When OFF — no recommendations returned. Turn ON to discover related episodes listeners also enjoy.

## Actor input object example

```json
{
  "keyword": [
    "Rock",
    "Tech News"
  ],
  "spotifyUris": [
    "spotify:episode:7EHfctG0CBnHWcEhQqZlTt",
    "https://open.spotify.com/episode/06Lj4EbhVTkxykFnzTlbci"
  ],
  "proxyCountry": "US",
  "episodes_search_offset": 0,
  "episodes_search_limit": 30,
  "episodes_fetchDetails": false,
  "episodes_includeRecommended": 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": [
        "Rock",
        "Tech News"
    ],
    "spotifyUris": [
        "spotify:episode:7EHfctG0CBnHWcEhQqZlTt",
        "https://open.spotify.com/episode/06Lj4EbhVTkxykFnzTlbci"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apiharvest/spotify-episodes-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": [
        "Rock",
        "Tech News",
    ],
    "spotifyUris": [
        "spotify:episode:7EHfctG0CBnHWcEhQqZlTt",
        "https://open.spotify.com/episode/06Lj4EbhVTkxykFnzTlbci",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("apiharvest/spotify-episodes-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": [
    "Rock",
    "Tech News"
  ],
  "spotifyUris": [
    "spotify:episode:7EHfctG0CBnHWcEhQqZlTt",
    "https://open.spotify.com/episode/06Lj4EbhVTkxykFnzTlbci"
  ]
}' |
apify call apiharvest/spotify-episodes-search-and-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Spotify Episodes Search and Scraper 🎙️",
        "description": "🎙️ Scrape Spotify podcast episodes with transcripts, audio segments, creator info, content ratings, playability status, preview playback URLs & release dates. Fetch Details full episode enrichment including podcast show info. Every episode field Spotify has. ✨Spotify Episodes Search and Scraper 🎙️",
        "version": "0.0",
        "x-build-id": "1IBdKIyFsXfNDLduf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/apiharvest~spotify-episodes-search-and-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-apiharvest-spotify-episodes-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-episodes-search-and-scraper/runs": {
            "post": {
                "operationId": "runs-sync-apiharvest-spotify-episodes-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-episodes-search-and-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-apiharvest-spotify-episodes-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 podcast episodes on Spotify.\n\n💡 Leave empty and fill Spotify URIs below to use Get Details mode instead.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "spotifyUris": {
                        "title": "🔗 Spotify Episode URIs / URLs",
                        "type": "array",
                        "description": "One or more Spotify episode URIs or URLs to fetch episode metadata.\nExamples: spotify:episode:ID · https://open.spotify.com/episode/ID\n\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": "Select a proxy country for scraping. ⭐ US recommended for best results.",
                        "default": "US"
                    },
                    "episodes_search_offset": {
                        "title": "📄 Search Offset",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Starting position for search pagination.",
                        "default": 0
                    },
                    "episodes_search_limit": {
                        "title": "📊 Search Limit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of results per keyword.",
                        "default": 30
                    },
                    "episodes_fetchDetails": {
                        "title": "🔄 Fetch Full Episode Details",
                        "type": "boolean",
                        "description": "������ Search mode only — Get Details mode always fetches full details.\n\n✅ When ON — fetches full episode metadata for every search result. You get: transcripts, audio segments, creator info, content ratings, playability status, preview playback URLs, and release date.\n\n❌ When OFF — you only get basic search data: episode name, show name, description, duration, and URI. You will NOT get transcripts, segments, playability, or detailed metadata.\n\n⚠️ Slower — extra API calls per search result.",
                        "default": false
                    },
                    "episodes_includeRecommended": {
                        "title": "🔗 Include Recommended Episodes",
                        "type": "boolean",
                        "description": "✅ When ON — fetches recommended episodes based on Spotify's listening context. Gives you related episode suggestions.\n\n❌ When OFF — no recommendations returned. Turn ON to discover related episodes listeners also enjoy.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
