# Listen Notes

Listen Notes is a powerful podcast search engine and database that allows you to discover, explore, and listen to millions of podcasts and episodes worldwide.

- **Category:** video & audio
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 26
- **Triggers:** 0
- **Slug:** `LISTENNOTES`
- **Version:** 20260211_00

## Tools

### Post episodes by ids

**Slug:** `LISTENNOTES_BATCH_FETCH_BASIC_META_DATA_FOR_EPISODES`

The listennotestest_episodes_post endpoint allows users to retrieve metadata for multiple podcast episodes in a single request. This POST endpoint accepts a list of episode IDs and returns detailed information about each specified episode. It's particularly useful for bulk retrieval of episode data, reducing the number of API calls needed when working with multiple episodes. The endpoint should be used when you need to fetch information about specific, known episodes rather than searching or browsing. Keep in mind that this endpoint is focused on retrieval only and does not support creating, updating, or deleting episode data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | Yes | Comma-separated list of episode ids. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create podcast via form data

**Slug:** `LISTENNOTES_BATCH_FETCH_BASIC_META_DATA_FOR_PODCASTS`

The listennotestest_podcasts_post endpoint allows users to retrieve information about multiple podcasts using various identifiers such as Listen Notes IDs, RSS feed URLs, Apple Podcasts IDs, or Spotify IDs. It can optionally fetch the latest episodes for the specified podcasts. This endpoint is useful for bulk podcast data retrieval and for staying updated on recent episodes across multiple shows. It's particularly valuable for applications that need to sync or update podcast information from different platforms. The endpoint has a limit of returning up to 15 latest episodes per request, so for comprehensive episode history, multiple calls may be necessary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | string | No | Comma-separated list of podcast ids. |
| `rsses` | string | No | Comma-separated rss urls. |
| `itunes_ids` | string | No | Comma-separated Apple Podcasts (iTunes) ids, e.g., 659155419 |
| `spotify_ids` | string | No | Comma-separated Spotify ids, e.g., 3DDfEsKDIDrTlnPOiG4ZF4 |
| `show_latest_episodes` | integer | No | Whether or not to fetch up to 15 latest episodes from these podcasts, sorted by pub_date. 1 is yes, and 0 is no.   |
| `next_episode_pub_date` | integer | No | For latest episodes pagination. It"s the value of **next_episode_pub_date** from the response of last request. If not specified, just return latest 15 episodes.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve curated podcast by id

**Slug:** `LISTENNOTES_FETCH_A_CURATED_LIST_OF_PODCASTS_BY_ID`

Retrieves detailed information about a specific curated podcast using its unique identifier. This endpoint allows users to access comprehensive data about a carefully selected podcast collection, including its contents, curator information, and associated metadata. It's particularly useful for applications that want to display or analyze curated podcast lists. The endpoint should be used when detailed information about a known curated podcast is required, but it won't provide a list of all available curated podcasts or allow modifications to the curated content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | id for a specific curated list of podcasts. You can get the id from the response of `GET /search?type=curated` or `GET /curated_podcasts`.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch best podcasts list

**Slug:** `LISTENNOTES_FETCH_A_LIST_OF_BEST_PODCASTS_BY_GENRE`

The getBestPodcasts endpoint retrieves a curated list of the best podcasts from the Listen Notes platform. It allows users to access a collection of top-rated or popular podcasts, which can be filtered by genre, region, and content rating. This endpoint is useful for discovering high-quality podcast content, creating recommendation systems, or populating podcast directories. The results are paginated for efficient data retrieval and can be customized to exclude explicit content if required. While it provides a valuable overview of top podcasts, it may not include real-time updates or notifications about new episodes or changes in podcast rankings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of those podcasts in this genre. |
| `sort` | string ("listen_score" | "oldest_added_first" | "oldest_published_first" | "recent_added_first" | "recent_published_first") | No | How do you want to sort these podcasts? If you"d like to sort by popularity, please use **listen_score**.   |
| `region` | string | No | Filter best podcasts by country/region. Please note that podcasts that are "best" in a country/region may not be produced in that country/region. For example, a podcast from the US may be very popular in Canada. You can get the supported country codes (e.g., us, jp, gb...) from `GET /regions`. If not specified, you"ll get "best podcasts" in United States.   |
| `genre_id` | string | No | You can get the id from `GET /genres`. If not specified, it"ll be the overall best podcasts, which can be considered as a special genre.  |
| `language` | string | No | Filter best podcasts by language. You can get a list of supported languages (e.g., English, Chinese, Japanese...) from `GET /languages`. If not specified, you"ll get "best podcasts" in any language.   |
| `safe_mode` | integer | No | Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.  |
| `publisher_region` | string | No | Filter best podcasts by the publisher"s country/region. This is to narrow down the results to include "best podcasts" produced in a specific country/region. You can get the supported country codes (e.g., us, jp, gb...) from `GET /regions`. If not specified, you"ll get "best podcasts" produced in any country/region. If you want to get a country/region"s "best podcasts" that are also produced in that country/region, then you need to specify both **region** and **publisher_region**, e.g., `region=jp` and `publisher_region=jp`.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve genre list

**Slug:** `LISTENNOTES_FETCH_A_LIST_OF_PODCAST_GENRES`

The GetGenres endpoint retrieves a comprehensive list of available genres within the listennotestest platform. This endpoint is designed to provide users with up-to-date information on content categories, which can be used for filtering, organizing, or subscribing to specific types of content. It's particularly useful for applications that need to populate genre-based dropdown menus, create content recommendation systems, or set up genre-specific notification preferences. The endpoint does not require any input parameters, making it simple to use for fetching the entire genre catalog. However, users should be aware that the response may contain a large amount of data, depending on the number of genres available in the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top_level_only` | integer | No | Just show top level genres? If 1, yes, just show top level genres. If 0, no, show all genres.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get playlists

**Slug:** `LISTENNOTES_FETCH_A_LIST_OF_YOUR_PLAYLISTS`

Retrieves a list of playlists from the Listen Notes platform. This endpoint allows users to fetch all available playlists associated with their account or publicly accessible playlists. It should be used when you need to display a collection of playlists, such as in a user's library or for browsing purposes. The endpoint returns basic information about each playlist, which may include the playlist name, creator, number of episodes, and other relevant metadata. Note that this endpoint likely returns a limited number of playlists per request, and pagination might be necessary for retrieving large collections. It does not provide detailed information about the episodes within each playlist; separate API calls would be required to fetch that level of detail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of playlists.  |
| `sort` | string ("name_a_to_z" | "name_z_to_a" | "oldest_added_first" | "recent_added_first") | No | How do you want to sort playlists?  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Listen to just listen endpoint

**Slug:** `LISTENNOTES_FETCH_A_RANDOM_PODCAST_EPISODE`

The 'just_listen' endpoint is a basic listener or health check mechanism for the listennotestest app. It allows users to verify the availability and responsiveness of the service without requiring any input parameters. This endpoint should be used for monitoring the status of the listennotestest service or as a simple ping to ensure the API is operational. It's important to note that this endpoint likely doesn't provide any specific data about podcasts or user accounts. The response is expected to be minimal, possibly just confirming that the service is up and running. While useful for basic health checks, it should not be relied upon for any complex operations or data retrieval within the listennotestest ecosystem.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get podcast audience by id

**Slug:** `LISTENNOTES_FETCH_AUDIENCE_DEMOGRAPHICS_FOR_A_PODCAST`

Retrieves audience information for a specific podcast identified by its unique ID. This endpoint allows users to access demographic data, listening statistics, or other audience-related metrics for a particular podcast. It's useful for podcast creators, marketers, or analysts who want to understand their audience better or track the performance of their content. The tool returns aggregated data about the podcast's listeners, which may include but is not limited to age groups, geographic distribution, listening habits, or engagement metrics. It should be used when detailed audience insights for a specific podcast are needed. Note that this endpoint does not provide real-time listener counts or individual listener data to protect user privacy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Podcast id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get curated podcasts

**Slug:** `LISTENNOTES_FETCH_CURATED_LISTS_OF_PODCASTS`

Retrieves a list of curated podcasts from the Listen Notes platform. This endpoint provides access to a collection of handpicked and organized podcasts, likely curated by experts or algorithms. It's useful for discovering high-quality content or featuring recommended podcasts to users. The endpoint returns a selection of podcasts, possibly grouped by themes, genres, or other criteria. While it offers a curated selection, it may not provide exhaustive search capabilities or personalized recommendations based on individual user preferences.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of curated lists. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve episode by id

**Slug:** `LISTENNOTES_FETCH_DETAILED_META_DATA_FOR_AN_EPISODE_BY_ID`

Retrieves detailed information about a specific episode using its unique identifier. This endpoint allows users to access comprehensive data about an individual episode, which may include metadata such as title, description, publication date, duration, and associated podcast information. It's particularly useful when you need to display or process information about a single episode. The endpoint should be used when detailed information about a known episode is required, but it won't provide lists of episodes or search functionality. Note that the response structure and the exact fields returned are not specified in the given schema, so the actual content may vary based on the API implementation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | id for a specific episode. You can get episode id from using other endpoints, e.g., `GET /search`...  |
| `show_transcript` | integer | No | To include the transcript of this episode or not? If it is 1, then include the transcript in the **transcript** field. The default value is 0 - we don"t include transcript by default, because 1) it would make the response data very big, thus slow response time; 2) less than 1% of episodes have transcripts. The transcript field is available only in the PRO/ENTERPRISE plan.  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Podcast Details And Episodes

**Slug:** `LISTENNOTES_FETCH_PODCAST_EPISODES_BY_ID`

Retrieves detailed information about a specific podcast using its unique identifier. This endpoint allows users to fetch comprehensive data about a particular podcast, including but not limited to its title, description, author, episode list, and other metadata. It's ideal for applications that need to display in-depth information about a single podcast or integrate podcast data into their systems. The endpoint should be used when detailed information about a known podcast is required, rather than for searching or browsing multiple podcasts. Note that this endpoint only provides information for podcasts that exist within the Listen Notes database and may not include real-time updates for very recent changes to the podcast.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Podcast id. You can get podcast id from using other endpoints, e.g., `GET /search`, `GET /best_podcasts`...  |
| `sort` | string ("oldest_first" | "recent_first") | No | How do you want to sort the episodes of this podcast?  |
| `next_episode_pub_date` | integer | No | For episodes pagination. It"s the value of **next_episode_pub_date** from the response of last request. If not specified, just return latest 10 episodes or oldest 10 episodes, depending on the value of the **sort** parameter.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch podcast languages

**Slug:** `LISTENNOTES_FETCH_PODCAST_LANGUAGES`

Retrieves a list of supported languages in the Listen Notes API. This endpoint provides information about the languages available for use within the platform, which can be crucial for internationalization and localization efforts. Use this endpoint when you need to know which languages are supported by the API, such as for filtering content or setting user preferences. The response likely includes language codes and possibly their corresponding names or additional metadata. Note that this endpoint doesn't accept any parameters, offering a static list of supported languages.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get podcast domains by name

**Slug:** `LISTENNOTES_FETCH_PODCASTS_BY_A_PUBLISHER_S_DOMAIN_NAME`

Retrieves a list of podcasts associated with a specified domain name. This endpoint allows users to discover podcasts that are produced or hosted by a particular website or organization. It's useful for content aggregation, competitive analysis, or finding podcasts related to specific brands or companies. The tool returns podcast information for the given domain, which may include multiple podcasts if the domain produces several shows. It should be used when you need to find all podcasts linked to a specific web domain. Note that this endpoint may not capture podcasts that are hosted on general podcast platforms unless they have a custom domain setup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of the podcasts from this domain name |
| `domain_name` | string | Yes | A publisher"s domain name, e.g., nytimes.com, wondery.com, npr.org... |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get episode recommendations by id

**Slug:** `LISTENNOTES_FETCH_RECOMMENDATIONS_FOR_AN_EPISODE`

Retrieves a list of recommended podcast episodes based on a specific episode ID. This endpoint utilizes the Listen Notes API to generate personalized content suggestions, helping users discover new episodes similar to ones they've already enjoyed. It's ideal for enhancing user engagement and content discovery within podcast applications. The recommendations are likely based on factors such as episode content, listener behavior, and popularity. Use this endpoint when you want to provide users with tailored podcast suggestions or implement a "You might also like" feature. Note that the quality and relevance of recommendations may vary depending on the popularity and metadata of the source episode.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Episode id. |
| `safe_mode` | integer | No | Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get podcast recommendations by id

**Slug:** `LISTENNOTES_FETCH_RECOMMENDATIONS_FOR_A_PODCAST`

Retrieves a list of podcast recommendations based on a specified podcast ID. This endpoint is designed to help users discover new podcasts that are similar or related to a podcast they already enjoy. It can be used to enhance user experience by providing personalized content suggestions, increasing engagement, and broadening the listener's podcast library. The recommendations are likely based on factors such as genre, topics, popularity, and listening patterns of users with similar interests. While this tool is excellent for content discovery, it should not be relied upon for comprehensive podcast information or metadata retrieval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Podcast id. |
| `safe_mode` | integer | No | Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch related searches data

**Slug:** `LISTENNOTES_FETCH_RELATED_SEARCH_TERMS`

Retrieves a list of related search queries based on the current context or user's recent search activity. This endpoint is useful for enhancing user experience by suggesting alternative or complementary search terms, potentially increasing engagement and discovery within the platform. It should be used when you want to provide users with additional search options or ideas related to their current interests or queries. The endpoint does not require any explicit parameters, relying instead on server-side logic to determine the context for generating related searches. Note that the specific algorithm for generating related searches and the format of the response are not detailed in the schema, so integrators should be prepared to handle various response structures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search term, e.g., person, place, topic...  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Supported Regions

**Slug:** `LISTENNOTES_FETCH_SUPPORTED_REGIONS`

Retrieves information about available regions in the listennotestest platform. This endpoint allows users to fetch a list of regions, which can be used for filtering content, setting up notifications, or managing regional preferences. It should be used when the client needs to know what regions are supported by the platform or when regional data is required for other operations. The endpoint returns basic details about each region, potentially including region codes, names, and any associated metadata. It does not provide detailed statistics or real-time data about events within these regions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve trending searches

**Slug:** `LISTENNOTES_FETCH_TRENDING_SEARCH_TERMS`

Retrieves a list of currently trending search terms related to podcasts. This endpoint provides real-time insights into popular topics and interests among podcast listeners. It's particularly useful for content creators, marketers, and researchers who want to stay updated on current trends in the podcast industry. The endpoint returns a curated list of search terms, likely ranked by popularity or recent search volume. While it offers valuable trend data, it does not provide detailed analytics or historical trend information. Users should be aware that the trending searches may change frequently and might be influenced by various factors such as current events, seasonal topics, or platform-specific promotions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Episode Titles

**Slug:** `LISTENNOTES_FIND_EPISODES_BY_TITLE`

The search_episode_titles endpoint allows users to search for and retrieve episode titles based on specified criteria. It provides a powerful way to find relevant episodes quickly, supporting real-time updates and notifications for changes in episode titles. This endpoint is particularly useful for applications that need to display or monitor podcast content, offering up-to-date information on episode titles across various shows or categories. While it excels at title searches, it may not provide full episode details or content, focusing primarily on the title information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | An episode"s title, e.g., Jerusalem Demsas on The Dispossessed. You can use double quotes to do verbatim match, e.g., "Jerusalem Demsas on The Dispossessed". Otherwise, it"s fuzzy search.   |
| `podcast_id` | string | No | Refine search results by specifying a podcast through its unique ID. The format of the podcast ID is governed by the podcast_id_type parameter.  For listennotes_id, the podcast ID will look like "cda18f20f1be4ac7b3cce7d0eb168fff".  For itunes_id, it will be a numerical value like "983795625".  For spotify_id, expect a format like "0Z1234tGXD2hVhjFrrhJ7g".  For rss, the podcast ID will be the RSS URL, e.g., "https://cowenconvos.libsyn.com/rss".   |
| `podcast_id_type` | string ("itunes_id" | "listennotes_id" | "rss" | "spotify_id") | No | The type of podcast id. Valid values are **listennotes_id**, **itunes_id**, **spotify_id**, and **rss**. Note: **itunes_id** is for Apple Podcasts.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search operation endpoint

**Slug:** `LISTENNOTES_FULL_TEXT_SEARCH`

The search endpoint allows users to query notifications or events within the listennotestest platform. It provides a way to find specific notifications based on keywords or identifiers, helping users locate relevant information quickly. This GET request likely returns a list of matching notifications or events, which can be useful for monitoring specific activities or retrieving historical data. The endpoint supports basic search functionality and potentially includes options for pagination and sorting to manage large result sets efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search term, e.g., person, place, topic... You can use double quotes to do verbatim match, e.g., "game of thrones". Otherwise, it"s fuzzy search.   |
| `ncid` | string | No | A comma-delimited string of podcast ids (up to 5 podcasts) - you can get a podcast id from the **podcast_id** field in response. This parameter is to exclude search results of a few specific podcasts. It works only when **type** is *episode*.   |
| `ocid` | string | No | A comma-delimited string of podcast ids (up to 5 podcasts) - you can get a podcast id from the **podcast_id** field in response. This parameter is to limit search results from only a few specific podcasts. It works only when **type** is *episode*.   |
| `type` | string ("curated" | "episode" | "podcast") | No | What type of contents do you want to search for?   |
| `offset` | integer | No | Offset for search results, for pagination. You"ll use **next_offset** from response for this parameter.   |
| `region` | string | No | Limit search results to a specific region (e.g., us, gb, in...). If not specified, it"ll be any region. You can get the supported country codes from `GET /regions`. It works only when **type** is *episode* or *podcast*.   |
| `len_max` | integer | No | Maximum audio length in minutes. Applicable only when **type** parameter is **episode** or **podcast**. If **type** parameter is **episode**, it"s for audio length of an episode. If **type** parameter is **podcast**, it"s for average audio length of all episodes in a podcast.   |
| `len_min` | integer | No | Minimum audio length in minutes. Applicable only when **type** parameter is **episode** or **podcast**. If **type** parameter is **episode**, it"s for audio length of an episode. If **type** parameter is **podcast**, it"s for average audio length of all episodes in a podcast.   |
| `only_in` | string | No | A comma-delimited string to search only in specific fields. Allowed values are title, description, author, and audio. If not specified, then search every fields.   |
| `language` | string | No | Limit search results to a specific language. If not specified, it"ll be any language. You can get a list of supported languages from `GET /languages`. It works only when **type** is *episode* or *podcast*.   |
| `genre_ids` | string | No | A comma-delimited string of a list of genre ids. If not specified, then all genres are included. You can find the id and the name of all genres from `GET /genres`. It works only when **type** is *episode* or *podcast*.   |
| `page_size` | integer | No | The maximum number of search results per page. A valid value should be an integer between 1 and 10 (inclusive).   |
| `safe_mode` | integer | No | Whether or not to exclude podcasts/episodes with explicit language. 1 is yes and 0 is no. It works only when **type** is *episode* or *podcast*.   |
| `sort_by_date` | integer | No | Sort by date or not? If 0, then sort by relevance. If 1, then sort by date.   |
| `sponsored_only` | integer | No | Whether or not to keep only podcasts that have sponsors in search results. 1 is yes and 0 is no. It works only when **type** is *podcast*. This parameter is available only in the PRO/ENTERPRISE plan.   |
| `interviews_only` | integer | No | Whether or not to keep only podcasts that have guest interviews in search results. 1 is yes and 0 is no. It works only when **type** is *podcast*.  This parameter is available only in the PRO/ENTERPRISE plan.   |
| `published_after` | integer | No | Only show episodes/podcasts/curated lists published after this timestamp (in milliseconds). If **published_before** & **published_after** are used at the same time, **published_before** should be bigger than **published_after**.   |
| `unique_podcasts` | integer | No | Whether or not to keep only one episode per podcast in search results. 1 is yes and 0 is no. It works only when **type** is *episode*.   |
| `update_freq_max` | integer | No | Maximum update frequency in hours (how frequently does a podcast release a new episode). For example, if you want to find "weekly" podcasts, then you can set **update_freq_min**=144 hours (or 6 days) and **update_freq_max**=192 hours (or 8 days). Applicable only when type parameter is **podcast**.   |
| `update_freq_min` | integer | No | Minimum update frequency in hours (how frequently does a podcast release a new episode). For example, if you want to find "weekly" podcasts, then you can set **update_freq_min**=144 hours (or 6 days) and **update_freq_max**=192 hours (or 8 days). Applicable only when type parameter is **podcast**.   |
| `published_before` | integer | No | Only show episodes/podcasts/curated lists published before this timestamp (in milliseconds). If **published_before** & **published_after** are used at the same time, **published_before** should be bigger than **published_after**.   |
| `episode_count_max` | integer | No | Maximum number of episodes. Applicable only when type parameter is **podcast**.   |
| `episode_count_min` | integer | No | Minimum number of episodes. Applicable only when type parameter is **podcast**.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch Playlist Info

**Slug:** `LISTENNOTES_GET_PLAYLIST_BY_ID`

Retrieves detailed information about a specific playlist using its unique identifier. This endpoint allows users to fetch comprehensive data about a playlist, including its name, description, creator, tracks, and other relevant metadata. It's particularly useful when you need to display or process information about a known playlist. The endpoint should be used when you have the playlist's ID and require its current, up-to-date details. Note that this endpoint only provides read access to playlist data and does not allow for modifications. It may not include real-time listening statistics or user-specific interaction data with the playlist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Playlist id (always 11 characters, e.g., m1pe7z60bsw). You can get the podcast id from the url of a playlist, e.g., m1pe7z60bsw is the playlist id of listennotes.com/listen/podcasts-about-podcasting-m1pe7z60bsw   |
| `sort` | string ("oldest_added_first" | "oldest_published_first" | "recent_added_first" | "recent_published_first") | No | How do you want to sort playlist items?  |
| `type` | string ("episode_list" | "podcast_list") | No | The type of this playlist, which should be either **episode_list** or **podcast_list**.   |
| `last_timestamp_ms` | integer | No | For playlist items pagination. It"s the value of **last_timestamp_ms** from the response of last request. If it"s 0 or not specified, just return the latest or the oldest 20 items, depending on the value of the **sort** parameter.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post podcast rss by id

**Slug:** `LISTENNOTES_REFRESH_RSS_FEED_OF_A_PODCAST`

Retrieves or generates an RSS feed for a specific podcast identified by its unique ID. This endpoint allows users to access the podcast's content in a standardized RSS format, which can be used for syndication or integration with podcast players and aggregators. The RSS feed typically includes information such as episode titles, descriptions, publication dates, and audio file URLs. Use this endpoint when you need to programmatically access a podcast's RSS feed, for example, to set up notifications for new episodes or to integrate the podcast content into another application. Note that this endpoint does not create or modify the podcast itself; it only provides access to the existing podcast data in RSS format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Podcast id. You can get podcast id from using other endpoints, e.g., `GET /search`, `GET /best_podcasts`...  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete podcast by id

**Slug:** `LISTENNOTES_REQUEST_TO_DELETE_A_PODCAST`

Deletes a specific podcast from the system based on its unique identifier. This endpoint should be used when you want to permanently remove a podcast and all its associated data from the platform. It's important to note that this action is irreversible, so it should be used with caution. Once a podcast is deleted, it cannot be recovered, and all related notifications and updates for that podcast will cease. This endpoint is typically used for managing outdated content, removing test data, or complying with content removal requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Podcast id. You can get podcast id from using other endpoints, e.g., `GET /search`, `GET /best_podcasts`...  |
| `reason` | string | No | The reason why this podcast should be deleted, e.g., copyright violation, the podcaster wants to delete it... You can put "testing" here to indicate that you are testing this endpoint, so we will not actually delete the podcast.  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Spell check retrieval

**Slug:** `LISTENNOTES_SPELL_CHECK_ON_A_SEARCH_TERM`

The spellcheck endpoint provides a spell-checking service for text input. It allows users to verify the spelling of words or phrases, likely related to audio content or podcast descriptions within the listennotestest platform. This tool should be used when there's a need to ensure the correctness of textual content, such as titles, descriptions, or tags associated with audio files or podcasts. The endpoint doesn't specify any parameters, suggesting it might use query parameters for input or have a default behavior. It's important to note that without more specific information, the exact input method and response format are not clear, which may require additional documentation or testing to fully understand its usage.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search term, e.g., person, place, topic...  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Submit podcast rss url

**Slug:** `LISTENNOTES_SUBMIT_A_PODCAST_TO_LISTEN_NOTES_DATABASE`

The submit_podcast endpoint allows users to submit a podcast for inclusion in the Listen Notes database. This tool should be used when a user wants to add a new podcast to the Listen Notes platform or update an existing podcast's information. It requires the RSS feed URL of the podcast and optionally accepts an email address for status notifications. The endpoint is designed for simplicity, focusing solely on podcast submission without providing additional podcast management features. Note that submission does not guarantee immediate inclusion; podcasts are subject to review before being added to the database.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rss` | string | Yes | A valid podcast rss url. |
| `email` | string | No | A valid email address. If **email** is specified, then we"ll notify this email address once the podcast is accepted.  |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get typeahead suggestions

**Slug:** `LISTENNOTES_TYPEAHEAD_SEARCH`

The typeahead endpoint provides real-time search suggestions as users type their queries. It's designed to enhance the user experience by offering relevant autocomplete options, making it easier for users to find podcasts, episodes, or other content on the Listen Notes platform. This endpoint should be used to implement a dynamic search box that updates suggestions with each keystroke. It's particularly useful for improving search efficiency and accuracy by guiding users towards valid search terms. The endpoint likely returns a JSON array of matching results, which may include basic information like titles, IDs, and possibly thumbnail images for each suggestion. It's important to note that this endpoint is intended for quick, lightweight suggestions and may not provide full details about each result - for comprehensive information, additional API calls might be necessary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search term, e.g., person, place, topic... You can use double quotes to do verbatim match, e.g., "game of thrones". Otherwise, it"s fuzzy search.   |
| `safe_mode` | integer | No | Whether or not to exclude podcasts/episodes with explicit language. 1 is yes and 0 is no. It works only when **show_podcasts** is *1*.   |
| `show_genres` | integer | No | Whether or not to autosuggest genres. 1 is yes, 0 is no.  |
| `show_podcasts` | integer | No | Autosuggest podcasts. This only searches podcast title and publisher and returns very limited info of 5 podcasts. 1 is yes, 0 is no. It"s a bit slow to autosuggest podcasts, so we turn it off by default. If show_podcasts=1, you can also pass iTunes id (e.g., 474722933) to the q parameter to fetch podcast meta data.   |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
