> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Podscan: Episodes Search

> Finding every podcast episode whose transcript mentions a keyword or phrase, with host/guest names, companies, transcript highlights, and topic sentiment.

Finding every podcast episode whose transcript mentions a keyword or phrase, with host/guest names, companies, transcript highlights, and topic sentiment.

> [!NOTE]
>
> Tool ID: `podscan_episodes_search`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'podscan_episodes_search',
  {
    "query": "software companies hiring engineers"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute podscan_episodes_search --input '{
  "query": "software companies hiring engineers"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "episodes": [
      {
        "episode_id": "episode_123",
        "episode_title": "example",
        "episode_url": "https://example.com"
      }
    ],
    "pagination": {
      "total": 123,
      "per_page": 123,
      "current_page": 123
    }
  }
}
```

Use `deepline describe podscan_episodes_search --json` for the latest machine-readable contract.

## Input reference

Search every indexed podcast episode transcript for a keyword or phrase. Returns matching episodes with a highlighted snippet, host/guest metadata, and topic sentiment. Set include\_transcript for full transcripts.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.query` | `string` | Yes | — | Full-text search query run across every indexed podcast transcript. Supports quoted phrases, e.g. `"customer interviews"`. Minimum length: 1. |
| `payload.per_page` | `integer` | No | `10` | Results per page (1-50). Defaults to 10. Minimum: 1. Maximum: 50. |
| `payload.page` | `integer` | No | — | 1-indexed results page (1-1000). Minimum: 1. Maximum: 1000. |
| `payload.language` | `string` | No | — | ISO 639-1 language code filter, e.g. `en`. Minimum length: 2. Maximum length: 2. |
| `payload.include_transcript` | `boolean` | No | `false` | Include the full episode transcript in each result. Defaults to false: only the matched `_search_highlight` snippet is returned, which keeps responses small. Set true only when you need whole transcripts. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Search every indexed podcast episode transcript for a keyword or phrase. Returns matching episodes with a highlighted snippet, host/guest metadata, and topic sentiment. Set include_transcript for full transcripts.",
    "properties": {
      "query": {
        "type": "string",
        "description": "Full-text search query run across every indexed podcast transcript. Supports quoted phrases, e.g. `\"customer interviews\"`.",
        "minLength": 1
      },
      "per_page": {
        "type": "integer",
        "description": "Results per page (1-50). Defaults to 10.",
        "default": 10,
        "minimum": 1,
        "maximum": 50
      },
      "page": {
        "type": "integer",
        "description": "1-indexed results page (1-1000).",
        "minimum": 1,
        "maximum": 1000
      },
      "language": {
        "type": "string",
        "description": "ISO 639-1 language code filter, e.g. `en`.",
        "minLength": 2,
        "maxLength": 2
      },
      "include_transcript": {
        "type": "boolean",
        "description": "Include the full episode transcript in each result. Defaults to false: only the matched `_search_highlight` snippet is returned, which keeps responses small. Set true only when you need whole transcripts.",
        "default": false
      }
    },
    "required": [
      "query"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.episodes` | `array` | No | — | — |
| `result.data.episodes[].episode_id` | `string` | No | — | — |
| `result.data.episodes[].episode_title` | `string` | No | — | — |
| `result.data.episodes[].episode_url` | `string` | No | — | — |
| `result.data.episodes[].posted_at` | `string` | No | — | — |
| `result.data.episodes[].episode_has_guests` | `boolean \| null` | No | — | — |
| `result.data.episodes[].episode_transcript` | `string` | No | — | — |
| `result.data.episodes[]._search_highlight` | `unknown` | No | — | — |
| `result.data.episodes[].podcast` | `object` | No | — | — |
| `result.data.episodes[].podcast.podcast_id` | `string` | No | — | — |
| `result.data.episodes[].podcast.podcast_name` | `string` | No | — | — |
| `result.data.episodes[].podcast.podcast_url` | `string` | No | — | — |
| `result.data.episodes[].podcast.podcast_reach_score` | `number` | No | — | — |
| `result.data.episodes[].metadata` | `object` | No | — | — |
| `result.data.episodes[].metadata.hosts` | `array` | No | — | — |
| `result.data.episodes[].metadata.hosts[].host_name` | `string` | No | — | — |
| `result.data.episodes[].metadata.hosts[].guest_name` | `string` | No | — | — |
| `result.data.episodes[].metadata.hosts[].guest_company` | `string` | No | — | — |
| `result.data.episodes[].metadata.hosts[].guest_industry` | `string` | No | — | — |
| `result.data.episodes[].metadata.hosts[].guest_occupation` | `string` | No | — | — |
| `result.data.episodes[].metadata.hosts[].host_company` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests` | `array` | No | — | — |
| `result.data.episodes[].metadata.guests[].host_name` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests[].guest_name` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests[].guest_company` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests[].guest_industry` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests[].guest_occupation` | `string` | No | — | — |
| `result.data.episodes[].metadata.guests[].host_company` | `string` | No | — | — |
| `result.data.episodes[].topics` | `array` | No | — | — |
| `result.data.episodes[].topics[].topic_id` | `string` | No | — | — |
| `result.data.episodes[].topics[].topic_name` | `string` | No | — | — |
| `result.data.episodes[].topics[].sentiment` | `record` | No | — | — |
| `result.data.pagination` | `object` | No | — | — |
| `result.data.pagination.total` | `number` | No | — | — |
| `result.data.pagination.per_page` | `number` | No | — | — |
| `result.data.pagination.current_page` | `number` | No | — | — |
| `result.data.pagination.last_page` | `number` | No | — | — |
| `result.meta` | `record` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "episodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "episode_id": {
                  "type": "string"
                },
                "episode_title": {
                  "type": "string"
                },
                "episode_url": {
                  "type": "string"
                },
                "posted_at": {
                  "type": "string"
                },
                "episode_has_guests": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "episode_transcript": {
                  "type": "string"
                },
                "_search_highlight": {},
                "podcast": {
                  "type": "object",
                  "properties": {
                    "podcast_id": {
                      "type": "string"
                    },
                    "podcast_name": {
                      "type": "string"
                    },
                    "podcast_url": {
                      "type": "string"
                    },
                    "podcast_reach_score": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                },
                "metadata": {
                  "type": "object",
                  "properties": {
                    "hosts": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "host_name": {
                            "type": "string"
                          },
                          "guest_name": {
                            "type": "string"
                          },
                          "guest_company": {
                            "type": "string"
                          },
                          "guest_industry": {
                            "type": "string"
                          },
                          "guest_occupation": {
                            "type": "string"
                          },
                          "host_company": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "guests": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "host_name": {
                            "type": "string"
                          },
                          "guest_name": {
                            "type": "string"
                          },
                          "guest_company": {
                            "type": "string"
                          },
                          "guest_industry": {
                            "type": "string"
                          },
                          "guest_occupation": {
                            "type": "string"
                          },
                          "host_company": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "topics": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "topic_id": {
                        "type": "string"
                      },
                      "topic_name": {
                        "type": "string"
                      },
                      "sentiment": {
                        "type": "object",
                        "additionalProperties": {}
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "pagination": {
            "type": "object",
            "properties": {
              "total": {
                "type": "number"
              },
              "per_page": {
                "type": "number"
              },
              "current_page": {
                "type": "number"
              },
              "last_page": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.14` per pricing unit.

## Related documentation

* [Podscan provider guide](https://deepline.com/docs/providers/podscan/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.