listen.notes
Module listen.notes
Definitions
ballerinax/listen.notes Ballerina library
Overview
The Listen Notes API v2.0 connector(https://www.listennotes.com/) OpenAPI specification.
Simple & no-nonsense podcast search & directory API. Search all podcasts and episodes by people, places, or topics.
Key Features
- Programmatic access to create and manage resources via REST API
- Manage user accounts and profiles
- Secure authentication with API key or OAuth support
Prerequisites
Before using this connector in your Ballerina application, complete the following:
- Create a Listen Notes account.
- Obtain tokens by following this guide.
Quickstart
To use the Listen Notes connector in your Ballerina application, update the .bal file as follows:
Step 1: Import connector
First, import the ballerinax/listen.notes module into the Ballerina project.
import ballerinax/listen.notes;
Step 2: Create a new connector instance
Create a notes:ApiKeysConfig with the <API_KEY> obtained, and initialize the connector with it.
notes:ApiKeysConfig apiKeyConfig = { xListenapiKey: `<API_KEY>` }; notes:Client baseClient = check new Client(apiKeyConfig);
Step 3: Invoke connector operation
-
Now you can use the operations available within the connector. Note that they are in the form of remote operations.
Following is an example to search using the connector.
public function main() { string q = "game of thrones"; notes:SearchResponse|error response = baseClient->search(q); if (response is notes:SearchResponse) { log:printInfo(response.toString()); } else { log:printError(response.message()); } } -
Use
bal runcommand to compile and run the Ballerina program.
Clients
listen.notes: Client
This is a generated connector for Listen Notes API v2.0 OpenAPI specification. Simple & no-nonsense podcast search & directory API. Search all podcasts and episodes by people, places, or topics.
Constructor
Gets invoked to initialize the connector.
The connector initialization requires setting the API credentials.
Create a Listen Notes account and obtain tokens by following this guide.
init (ApiKeysConfig apiKeyConfig, ConnectionConfig config, string serviceUrl)- apiKeyConfig ApiKeysConfig - API keys for authorization
- config ConnectionConfig {} - The configurations to be used when initializing the
connector
- serviceUrl string "https://listen-api.listennotes.com/api/v2" - URL of the target service
search
function search(string q, int sortByDate, string 'type, int offset, int lenMin, int? lenMax, int? episodeCountMin, int? episodeCountMax, string? genreIds, int? publishedBefore, int publishedAfter, string onlyIn, string? language, string? region, string? ocid, string? ncid, int safeMode) returns SearchResponse|errorFull-text search
Parameters
- q string - 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.
- sortByDate int (default 0) - Sort by date or not? If 0, then sort by relevance. If 1, then sort by date.
- 'type string (default "episode") - What type of contents do you want to search for?
- offset int (default 0) - Offset for search results, for pagination. You'll use next_offset from response for this parameter.
- lenMin int (default 0) - Minimum audio length in minutes. Applicable only when type parameter is episode.
- lenMax int? (default ()) - Maximum audio length in minutes. Applicable only when type parameter is episode.
- episodeCountMin int? (default ()) - Minimum number of episodes. Applicable only when type parameter is podcast.
- episodeCountMax int? (default ()) - Maximum number of episodes. Applicable only when type parameter is podcast.
- genreIds string? (default ()) - 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.
- publishedBefore int? (default ()) - 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.
- publishedAfter int (default 0) - 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.
- onlyIn string (default "title,description,author,audio") - 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? (default ()) - 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.
- region string? (default ()) - 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.
- ocid string? (default ()) - 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.
- ncid string? (default ()) - 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.
- safeMode int (default 0) - 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.
Return Type
- SearchResponse|error - OK
typeahead
function typeahead(string q, int showPodcasts, int showGenres, int safeMode) returns TypeaheadResponse|errorTypeahead search
Parameters
- q string - 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.
- showPodcasts int (default 0) - 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.
- showGenres int (default 0) - Whether or not to autosuggest genres. 1 is yes, 0 is no.
- safeMode int (default 0) - 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.
Return Type
- TypeaheadResponse|error - OK
getBestPodcasts
function getBestPodcasts(string? genreId, int? page, string region, string? publisherRegion, string? language, int safeMode) returns BestPodcastsResponse|errorFetch a list of best podcasts by genre
Parameters
- genreId string? (default ()) - 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.
- page int? (default ()) - Page number of those podcasts in this genre.
- region string (default "us") - 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.
- publisherRegion string? (default ()) - 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=jpandpublisher_region=jp.
- language string? (default ()) - 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.
- safeMode int (default 0) - Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.
Return Type
getPodcastById
function getPodcastById(string id, int? nextEpisodePubDate, string sort) returns PodcastFull|errorFetch detailed meta data and episodes for a podcast by id
Parameters
- id string - Podcast id. You can get podcast id from using other endpoints, e.g.,
GET /search,GET /best_podcasts...
- nextEpisodePubDate int? (default ()) - 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.
- sort string (default "recent_first") - How do you want to sort the episodes of this podcast?
Return Type
- PodcastFull|error - OK
deletePodcastById
function deletePodcastById(string id, string? reason) returns DeletePodcastResponse|errorRequest to delete a podcast
Parameters
- id string - Podcast id. You can get podcast id from using other endpoints, e.g.,
GET /search,GET /best_podcasts...
- reason string? (default ()) - 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.
Return Type
getEpisodeById
function getEpisodeById(string id, int showTranscript) returns EpisodeFull|errorFetch detailed meta data for an episode by id
Parameters
- id string - id for a specific episode. You can get episode id from using other endpoints, e.g.,
GET /search...
- showTranscript int (default 0) - 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.
Return Type
- EpisodeFull|error - OK
getEpisodesInBatch
function getEpisodesInBatch(GetEpisodesInBatchForm payload) returns GetEpisodesInBatchResponse|errorBatch fetch basic meta data for episodes
Parameters
- payload GetEpisodesInBatchForm - Get episodes batch payload
Return Type
getPodcastsInBatch
function getPodcastsInBatch(GetPodcastsInBatchForm payload) returns GetPodcastsInBatchResponse|errorBatch fetch basic meta data for podcasts
Parameters
- payload GetPodcastsInBatchForm - Get podcasts batch payload
Return Type
getCuratedPodcastById
function getCuratedPodcastById(string id) returns CuratedListFull|errorFetch a curated list of podcasts by id
Parameters
- id string - id for a specific curated list of podcasts. You can get the id from the response of
GET /search?type=curatedorGET /curated_podcasts.
Return Type
- CuratedListFull|error - OK
getGenres
function getGenres(int topLevelOnly) returns GetGenresResponse|errorFetch a list of podcast genres
Parameters
- topLevelOnly int (default 0) - Just show top level genres? If 1, yes, just show top level genres. If 0, no, show all genres.
Return Type
- GetGenresResponse|error - OK
getRegions
function getRegions() returns GetRegionsResponse|errorFetch a list of supported countries/regions for best podcasts
Return Type
- GetRegionsResponse|error - OK
getLanguages
function getLanguages() returns GetLanguagesResponse|errorFetch a list of supported languages for podcasts
Return Type
justListen
function justListen() returns EpisodeSimple|errorFetch a random podcast episode
Return Type
- EpisodeSimple|error - OK
getCuratedPodcasts
function getCuratedPodcasts(int page) returns GetCuratedPodcastsResponse|errorFetch curated lists of podcasts
Parameters
- page int (default 1) - Page number of curated lists.
Return Type
getPodcastRecommendations
function getPodcastRecommendations(string id, int safeMode) returns GetPodcastRecommendationsResponse|errorFetch recommendations for a podcast
Parameters
- id string - Podcast id.
- safeMode int (default 0) - Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.
Return Type
getEpisodeRecommendations
function getEpisodeRecommendations(string id, int safeMode) returns GetEpisodeRecommendationsResponse|errorFetch recommendations for an episode
Parameters
- id string - Episode id.
- safeMode int (default 0) - Whether or not to exclude podcasts with explicit language. 1 is yes, and 0 is no.
Return Type
submitPodcast
function submitPodcast(SubmitPodcastForm payload) returns SubmitPodcastResponse|errorSubmit a podcast to Listen Notes database
Parameters
- payload SubmitPodcastForm - Submit podcast payload
Return Type
getPlaylistById
function getPlaylistById(string id, string 'type, int lastTimestampMs, string sort) returns PlaylistResponse|errorFetch a playlist's info and items (i.e., episodes or podcasts).
Parameters
- id string - 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
- 'type string (default "episode_list") - The type of this playlist, which should be either episode_list or podcast_list.
- lastTimestampMs int (default 0) - 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.
- sort string (default "recent_added_first") - How do you want to sort playlist items?
Return Type
- PlaylistResponse|error - OK
getPlaylists
function getPlaylists(string sort, int page) returns PlaylistsResponse|errorFetch a list of your playlists.
Parameters
- sort string (default "recent_added_first") - How do you want to sort playlists?
- page int (default 1) - Page number of playlists.
Return Type
- PlaylistsResponse|error - OK
Records
listen.notes: ApiKeysConfig
Provides API key configurations needed when communicating with a remote HTTP endpoint.
Fields
- xListenapiKey string - Represents API Key
X-ListenAPI-Key
listen.notes: BestPodcastsResponse
Fields
- has_previous boolean -
- name string - This genre's name.
- listennotes_url BestPodcastsLNUrlField - Url of the list of best podcasts on ListenNotes.com.
- previous_page_number int -
- page_number int -
- has_next boolean -
- next_page_number int -
- parent_id int - The id of parent genre.
- id int - The id of this genre
- total int -
- podcasts PodcastSimple[] -
listen.notes: ClientHttp1Settings
Provides settings related to HTTP/1.x protocol.
Fields
- keepAlive KeepAlive(default http:KEEPALIVE_AUTO) - Specifies whether to reuse a connection for multiple requests
- chunking Chunking(default http:CHUNKING_AUTO) - The chunking behaviour of the request
- proxy? ProxyConfig - Proxy server related options
listen.notes: ConnectionConfig
Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.
Fields
- httpVersion HttpVersion(default http:HTTP_2_0) - The HTTP version understood by the client
- http1Settings? ClientHttp1Settings - Configurations related to HTTP/1.x protocol
- http2Settings? ClientHttp2Settings - Configurations related to HTTP/2 protocol
- timeout decimal(default 60) - The maximum time to wait (in seconds) for a response before closing the connection
- forwarded string(default "disable") - The choice of setting
forwarded/x-forwardedheader
- poolConfig? PoolConfiguration - Configurations associated with request pooling
- cache? CacheConfig - HTTP caching related configurations
- compression Compression(default http:COMPRESSION_AUTO) - Specifies the way of handling compression (
accept-encoding) header
- circuitBreaker? CircuitBreakerConfig - Configurations associated with the behaviour of the Circuit Breaker
- retryConfig? RetryConfig - Configurations associated with retrying
- responseLimits? ResponseLimitConfigs - Configurations associated with inbound response size limits
- secureSocket? ClientSecureSocket - SSL/TLS-related options
- proxy? ProxyConfig - Proxy server related options
- validation boolean(default true) - Enables the inbound payload validation functionality which provided by the constraint package. Enabled by default
listen.notes: CuratedListFull
Fields
- id? CuratedIdField - Curated list id.
- description? CuratedDescriptionField - This curated list's description.
- source_url? CuratedSourceUrlField - Url of the source of this curated list.
- source_domain? CuratedSourceDomainField - The domain name of the source of this curated list.
- pub_date_ms? CuratedPubDateMsField - Published date of this curated list. In milliseconds.
- listennotes_url? CuratedLNUrlField - The url of this curated list on ListenNotes.com.
- title? CuratedNameField - Curated list name.
- total? CuratedTotalPodcastsField - The total number of podcasts in this curated list.
- podcasts? PodcastSimple[] - Complete meta data of all podcasts in this curated list.
listen.notes: CuratedListSearchResult
When type is curated.
Fields
- id? CuratedIdField - Curated list id.
- pub_date_ms? CuratedPubDateMsField - Published date of this curated list. In milliseconds.
- description_highlighted? string - Highlighted segment of this curated list's description
- description_original? string - Plain text of this curated list's description
- title_highlighted? string - Highlighted segment of this curated list's title
- title_original? string - Plain text of this curated list's title
- listennotes_url? CuratedLNUrlField - The url of this curated list on ListenNotes.com.
- source_url? CuratedSourceUrlField - Url of the source of this curated list.
- source_domain? CuratedSourceDomainField - The domain name of the source of this curated list.
- total? CuratedTotalPodcastsField - The total number of podcasts in this curated list.
- podcasts? PodcastMinimum[] - Up to 5 podcasts in this curated list.
listen.notes: CuratedListSimple
Fields
- id? CuratedIdField - Curated list id.
- description? CuratedDescriptionField - This curated list's description.
- source_url? CuratedSourceUrlField - Url of the source of this curated list.
- source_domain? CuratedSourceDomainField - The domain name of the source of this curated list.
- pub_date_ms? CuratedPubDateMsField - Published date of this curated list. In milliseconds.
- listennotes_url? CuratedLNUrlField - The url of this curated list on ListenNotes.com.
- title? CuratedNameField - Curated list name.
- total? CuratedTotalPodcastsField - The total number of podcasts in this curated list.
- podcasts? PodcastMinimum[] - Minimum meta data of up to 5 podcasts in this curated list.
listen.notes: CustomAudio
A custom audio in a playlist, which is a type of playlist item.
Fields
- title? string - Custom audio title.
- audio? string - Audio url, which can be played directly.
- audio_length_sec? int - Audio length in seconds.
- image? string - High resolution image url of this custom audio.
- thumbnail? string - Low resolution image url of this custom audio.
- pub_date_ms? int - Published date (in milliseconds) of this custom audio. For now, it's the same as added_at_ms of this playlist item.
listen.notes: DeletedItem
A deleted episode or podcast. An episode or a podcast could be deleted from our podcast database. Possible reasons: 1) Podcast producers sometimes delete their old episodes. 2) Copyright issues.
Fields
- id? string - Episode id or podcast id.
- title? string - Episode title or podcast title.
- status? string - The status of this episode or podcast. For now, the only possible value is deleted.
- 'error? string - Why this episode or podcast is deleted?
listen.notes: DeletePodcastResponse
Fields
- status string - The status of this podcast deletion request.
listen.notes: EpisodeFull
Fields
- maybe_audio_invalid? MaybeAudioInvalidField - Whether or not this episode's audio is invalid. Podcasters may delete the original audio.
- pub_date_ms? EpisodePubDateMsField - Published date for this episode. In millisecond.
- audio? AudioField - Audio url of this episode, which can be played directly.
- listennotes_edit_url? EpisodeLNEditUrlField - Edit url of this episode where you can update the audio url if you find the audio is broken.
- image? EpisodeImageField - Image url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork image. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? EpisodeThumbnailField - Thumbnail image (300x300) url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork thumbnail image.
- description? EpisodeDescriptionField - Html of this episode's full description
- title? EpisodeNameField - Episode name.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- listennotes_url? EpisodeLNUrlField - The url of this episode on ListenNotes.com.
- audio_length_sec? AudioLengthSecField - Audio length of this episode. In seconds.
- id? EpisodeIdField - Episode id.
- podcast? PodcastSimple -
- link? LinkField - Web link of this episode.
- transcript? TranscriptField - The transcript of this episode, in plain text (with the newline character \n). If there's not transcript, it is null. This field is available only in the PRO/ENTERPRISE plan.
listen.notes: EpisodeMinimum
Fields
- maybe_audio_invalid? MaybeAudioInvalidField - Whether or not this episode's audio is invalid. Podcasters may delete the original audio.
- pub_date_ms? EpisodePubDateMsField - Published date for this episode. In millisecond.
- audio? AudioField - Audio url of this episode, which can be played directly.
- listennotes_edit_url? EpisodeLNEditUrlField - Edit url of this episode where you can update the audio url if you find the audio is broken.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- description? EpisodeDescriptionField - Html of this episode's full description
- title? EpisodeNameField - Episode name.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- listennotes_url? EpisodeLNUrlField - The url of this episode on ListenNotes.com.
- audio_length_sec? AudioLengthSecField - Audio length of this episode. In seconds.
- id? EpisodeIdField - Episode id.
- link? LinkField - Web link of this episode.
listen.notes: EpisodeSearchResult
When type is episode.
Fields
- audio? AudioField - Audio url of this episode, which can be played directly.
- audio_length_sec? AudioLengthSecField - Audio length of this episode. In seconds.
- rss? RssField - RSS url of this podcast. This field is available only in the PRO/ENTERPRISE plan.
- description_highlighted? string - Highlighted segment of this episode's description
- description_original? string - Plain text of this episode's description
- title_highlighted? string - Highlighted segment of this episode's title
- title_original? string - Plain text of this episode' title
- transcripts_highlighted? string[] - Up to 2 highlighted segments of the audio transcript of this episode.
- image? EpisodeImageField - Image url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork image. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? EpisodeThumbnailField - Thumbnail image (300x300) url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork thumbnail image.
- itunes_id? ITunesIdField - iTunes id for this podcast.
- pub_date_ms? EpisodePubDateMsField - Published date for this episode. In millisecond.
- id? EpisodeIdField - Episode id.
- listennotes_url? EpisodeLNUrlField - The url of this episode on ListenNotes.com.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- link? LinkField - Web link of this episode.
- podcast? EpisodesearchresultPodcast - The podcast that this episode belongs to.
listen.notes: EpisodesearchresultPodcast
The podcast that this episode belongs to.
Fields
- id? PodcastIdField - Podcast id.
- genre_ids? GenreIdsField - Array of genre ids.
- listennotes_url? PodcastLNUrlField - The url of this podcast on ListenNotes.com.
- title_highlighted? PodcastTitleHighlightedField - Highlighted segment of podcast name.
- title_original? PodcastTitleOriginalField - Plain text of podcast name.
- publisher_highlighted? PublisherHighlightedField - Highlighted segment of this podcast's publisher name.
- publisher_original? PublisherOriginalField - Plain text of this podcast's publisher name.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- listen_score? ListenScoreField - The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
- listen_score_global_rank? ListenScoreGlobalRankField - The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: EpisodeSimple
Fields
- maybe_audio_invalid? MaybeAudioInvalidField - Whether or not this episode's audio is invalid. Podcasters may delete the original audio.
- pub_date_ms? EpisodePubDateMsField - Published date for this episode. In millisecond.
- audio? AudioField - Audio url of this episode, which can be played directly.
- listennotes_edit_url? EpisodeLNEditUrlField - Edit url of this episode where you can update the audio url if you find the audio is broken.
- image? EpisodeImageField - Image url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork image. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? EpisodeThumbnailField - Thumbnail image (300x300) url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork thumbnail image.
- description? EpisodeDescriptionField - Html of this episode's full description
- title? EpisodeNameField - Episode name.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- listennotes_url? EpisodeLNUrlField - The url of this episode on ListenNotes.com.
- audio_length_sec? AudioLengthSecField - Audio length of this episode. In seconds.
- id? EpisodeIdField - Episode id.
- link? LinkField - Web link of this episode.
- podcast? PodcastMinimum -
listen.notes: Genre
Fields
- id? int - Genre id
- name? string - Genre name.
- parent_id? int - Parent genre id.
listen.notes: GetCuratedPodcastsResponse
Fields
- has_previous boolean -
- previous_page_number int -
- page_number int -
- next_page_number int -
- has_next boolean -
- total int -
- curated_lists CuratedListSimple[] -
listen.notes: GetEpisodeRecommendationsResponse
Fields
- recommendations EpisodeSimple[] -
listen.notes: GetEpisodesInBatchForm
Fields
- ids string - Comma-separated list of episode ids.
listen.notes: GetEpisodesInBatchResponse
Fields
- episodes EpisodeSimple[] -
listen.notes: GetGenresResponse
Fields
- genres Genre[] -
listen.notes: GetLanguagesResponse
Fields
- languages string[] -
listen.notes: GetPodcastRecommendationsResponse
Fields
- recommendations PodcastSimple[] -
listen.notes: GetPodcastsInBatchForm
Fields
- ids? string - Comma-separated list of podcast ids.
- rsses? string - Comma-separated rss urls.
- itunes_ids? string - Comma-separated itunes ids.
- show_latest_episodes? int - Whether or not to fetch up to 10 latest episodes from these podcasts, sorted by pub_date. 1 is yes, and 0 is no.
- next_episode_pub_date? int - 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 10 episodes.
listen.notes: GetPodcastsInBatchResponse
Fields
- podcasts PodcastSimple[] -
- latest_episodes? EpisodeSimple[] - Up to 10 latest episodes from these podcasts, sorted by pub_date. This field shows up only when show_latest_episodes is 1.
listen.notes: GetRegionsResponse
Fields
- regions record {} -
listen.notes: PlaylistItem
An item in a playlist
Fields
- id? int - Playlist item id.
- 'type? string - The type of this playlist item. If a playlist is episode_list, then an item could be either episode or custom_audio. If it's podcast_list, then an item can only be podcast.
- notes? string - Notes for this item.
- added_at_ms? int - Timestamp (in milliseconds) when this item is added.
- data? EpisodeSimple|PodcastSimple|CustomAudio|DeletedItem - Playlist item data
listen.notes: PlaylistResponse
Fields
- id? PlaylistIdField - A 11-character playlist id.
- name? PlaylistNameField - Playlist name.
- description? PlaylistDescriptionField - Playlist description.
- image? PlaylistImageField - High resolution image url of the playlist.
- thumbnail? PlaylistThumbnailField - Low resolution image url of the playlist.
- listennotes_url? PlaylistListennotesUrlField - The url of this playlist on ListenNotes.com.
- visibility? PlaylistVisibilityField - Visibility of this playlist.
- last_timestamp_ms? PlaylistLastTimestampMsField - Passed to the last_timestamp_ms parameter of
GET /playlists/{id}to paginate through items of that playlist.
- total? int - Total number of items in this playlist.
- 'type? string - The type of this playlist, which should be either episode_list or podcast_list.
- items? PlaylistItem[] - A list of playlist items.
listen.notes: PlaylistsResponse
Fields
- previous_page_number? int -
- page_number? int -
- has_next? boolean -
- has_previous? boolean -
- next_page_number? int -
- total? int -
- playlists? PlaylistsresponsePlaylists[] -
listen.notes: PlaylistsresponsePlaylists
A playlist
Fields
- episode_count? int - The number of episodes (including custom audio) in this playlist.
- podcast_count? int - The number of podcasts in this playlist.
- id? PlaylistIdField - A 11-character playlist id.
- name? PlaylistNameField - Playlist name.
- description? PlaylistDescriptionField - Playlist description.
- image? PlaylistImageField - High resolution image url of the playlist.
- thumbnail? PlaylistThumbnailField - Low resolution image url of the playlist.
- listennotes_url? PlaylistListennotesUrlField - The url of this playlist on ListenNotes.com.
- visibility? PlaylistVisibilityField - Visibility of this playlist.
- last_timestamp_ms? PlaylistLastTimestampMsField - Passed to the last_timestamp_ms parameter of
GET /playlists/{id}to paginate through items of that playlist.
listen.notes: PodcastExtraField
Fields
- youtube_url? string - YouTube url affiliated with this podcast
- facebook_handle? string - Facebook username affiliated with this podcast
- instagram_handle? string - Instagram username affiliated with this podcast
- twitter_handle? string - Twitter username affiliated with this podcast
- wechat_handle? string - WeChat username affiliated with this podcast
- patreon_handle? string - Patreon username affiliated with this podcast
- google_url? string - Google Podcasts url for this podcast
- linkedin_url? string - LinkedIn url affiliated with this podcast
- spotify_url? string - Spotify url for this podcast
- url1? string - Url affiliated with this podcast
- url2? string - Url affiliated with this podcast
- url3? string - Url affiliated with this podcast
listen.notes: PodcastFull
Fields
- episodes? EpisodeMinimum[] -
- is_claimed? IsClaimedField - Whether this podcast is claimed by its producer on ListenNotes.com.
- 'type? PodcastTypeField - The type of this podcast - episodic or serial.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- website? WebsiteField - Website url of this podcast.
- total_episodes? TotalEpisodesField - Total number of episodes in this podcast.
- earliest_pub_date_ms? EarliestPubDateMsField - The published date of the oldest episode of this podcast. In milliseconds
- rss? RssField - RSS url of this podcast. This field is available only in the PRO/ENTERPRISE plan.
- latest_pub_date_ms? LatestPubDateMsField - The published date of the latest episode of this podcast. In milliseconds
- title? PodcastNameField - Podcast name.
- language? LanguageField - The language of this podcast. You can get all supported languages from
GET /languages.
- description? PodcastDescriptionField - Html of this episode's full description
- email? EmailField - The email of this podcast's producer. This field is available only in the PRO/ENTERPRISE plan.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- listennotes_url? PodcastLNUrlField - The url of this podcast on ListenNotes.com.
- id? PodcastIdField - Podcast id.
- country? CountryField - The country where this podcast is produced.
- publisher? PublisherField - Podcast publisher name.
- itunes_id? ITunesIdField - iTunes id for this podcast.
- looking_for? PodcastLookingForField -
- extra? PodcastExtraField -
- genre_ids? GenreIdsField - Array of genre ids.
- next_episode_pub_date? NextEpisodePubDateField - Passed to the next_episode_pub_date parameter of
GET /podcasts/{id}to paginate through episodes of that podcast.
- listen_score? ListenScoreField - The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
- listen_score_global_rank? ListenScoreGlobalRankField - The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: PodcastLookingForField
Fields
- cohosts? boolean - Whether this podcast is looking for cohosts.
- cross_promotion? boolean - Whether this podcast is looking for cross promotion opportunities with other podcasts.
- sponsors? boolean - Whether this podcast is looking for sponsors.
- guests? boolean - Whether this podcast is looking for guests.
listen.notes: PodcastMinimum
Fields
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- title? PodcastNameField - Podcast name.
- listennotes_url? PodcastLNUrlField - The url of this podcast on ListenNotes.com.
- id? PodcastIdField - Podcast id.
- publisher? PublisherField - Podcast publisher name.
- listen_score? ListenScoreField - The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
- listen_score_global_rank? ListenScoreGlobalRankField - The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: PodcastSearchResult
When type is podcast.
Fields
- rss? RssField - RSS url of this podcast. This field is available only in the PRO/ENTERPRISE plan.
- description_highlighted? string - Highlighted segment of podcast description
- description_original? string - Plain text of podcast description
- title_highlighted? PodcastTitleHighlightedField - Highlighted segment of podcast name.
- title_original? PodcastTitleOriginalField - Plain text of podcast name.
- publisher_highlighted? PublisherHighlightedField - Highlighted segment of this podcast's publisher name.
- publisher_original? PublisherOriginalField - Plain text of this podcast's publisher name.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- itunes_id? ITunesIdField - iTunes id for this podcast.
- latest_pub_date_ms? LatestPubDateMsField - The published date of the latest episode of this podcast. In milliseconds
- earliest_pub_date_ms? EarliestPubDateMsField - The published date of the oldest episode of this podcast. In milliseconds
- id? PodcastIdField - Podcast id.
- genre_ids? GenreIdsField - Array of genre ids.
- listennotes_url? PodcastLNUrlField - The url of this podcast on ListenNotes.com.
- total_episodes? TotalEpisodesField - Total number of episodes in this podcast.
- email? EmailField - The email of this podcast's producer. This field is available only in the PRO/ENTERPRISE plan.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- website? WebsiteField - Website url of this podcast.
- listen_score? ListenScoreField - The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
- listen_score_global_rank? ListenScoreGlobalRankField - The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: PodcastSimple
Fields
- is_claimed? IsClaimedField - Whether this podcast is claimed by its producer on ListenNotes.com.
- 'type? PodcastTypeField - The type of this podcast - episodic or serial.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- website? WebsiteField - Website url of this podcast.
- total_episodes? TotalEpisodesField - Total number of episodes in this podcast.
- earliest_pub_date_ms? EarliestPubDateMsField - The published date of the oldest episode of this podcast. In milliseconds
- rss? RssField - RSS url of this podcast. This field is available only in the PRO/ENTERPRISE plan.
- latest_pub_date_ms? LatestPubDateMsField - The published date of the latest episode of this podcast. In milliseconds
- title? PodcastNameField - Podcast name.
- language? LanguageField - The language of this podcast. You can get all supported languages from
GET /languages.
- description? PodcastDescriptionField - Html of this episode's full description
- email? EmailField - The email of this podcast's producer. This field is available only in the PRO/ENTERPRISE plan.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- listennotes_url? PodcastLNUrlField - The url of this podcast on ListenNotes.com.
- id? PodcastIdField - Podcast id.
- country? CountryField - The country where this podcast is produced.
- publisher? PublisherField - Podcast publisher name.
- itunes_id? ITunesIdField - iTunes id for this podcast.
- looking_for? PodcastLookingForField -
- extra? PodcastExtraField -
- genre_ids? GenreIdsField - Array of genre ids.
- listen_score? ListenScoreField - The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
- listen_score_global_rank? ListenScoreGlobalRankField - The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: PodcastTypeaheadResult
Fields
- publisher_highlighted? PublisherHighlightedField - Highlighted segment of this podcast's publisher name.
- publisher_original? PublisherOriginalField - Plain text of this podcast's publisher name.
- explicit_content? ExplicitField - Whether this podcast contains explicit language.
- image? ImageField - Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
- thumbnail? ThumbnailField - Thumbnail image url for this podcast's artwork (300x300).
- title_highlighted? PodcastTitleHighlightedField - Highlighted segment of podcast name.
- title_original? PodcastTitleOriginalField - Plain text of podcast name.
- id? PodcastIdField - Podcast id.
listen.notes: ProxyConfig
Proxy server configurations to be used with the HTTP client endpoint.
Fields
- host string(default "") - Host name of the proxy server
- port int(default 0) - Proxy server port
- userName string(default "") - Proxy server username
- password string(default "") - Proxy server password
listen.notes: SearchResponse
Fields
- next_offset? int - Pass this value to the offset parameter to do pagination of search results.
- took? decimal - The time it took to fetch these search results. In seconds.
- total? int - The total number of search results.
- count? int - The number of search results in this page.
- results? (EpisodeSearchResult|PodcastSearchResult|CuratedListSearchResult)[] - A list of search results.
listen.notes: SubmitPodcastForm
Fields
- rss string - A valid podcast rss url.
- email? string - A valid email address. If email is specified, then we'll notify this email address once the podcast is accepted.
listen.notes: SubmitPodcastResponse
Fields
- status string - The status of this submission.
- podcast PodcastMinimum -
listen.notes: TypeaheadResponse
Fields
- terms string[] - Search term suggestions.
- genres? Genre[] - Genre suggestions. It'll show up when the show_genres parameter is 1.
- podcasts? PodcastTypeaheadResult[] - Podcast suggestions. It'll show up when the show_podcasts parameter is 1.
Array types
listen.notes: GenreIdsField
GenreIdsField
Array of genre ids.
String types
listen.notes: PodcastTitleOriginalField
PodcastTitleOriginalField
Plain text of podcast name.
listen.notes: PlaylistThumbnailField
PlaylistThumbnailField
Low resolution image url of the playlist.
listen.notes: EpisodeNameField
EpisodeNameField
Episode name.
listen.notes: PodcastTypeField
PodcastTypeField
The type of this podcast - episodic or serial.
listen.notes: PlaylistNameField
PlaylistNameField
Playlist name.
listen.notes: EpisodeImageField
EpisodeImageField
Image url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork image. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
listen.notes: CuratedDescriptionField
CuratedDescriptionField
This curated list's description.
listen.notes: CountryField
CountryField
The country where this podcast is produced.
listen.notes: PublisherField
PublisherField
Podcast publisher name.
listen.notes: ImageField
ImageField
Image url for this podcast's artwork. If you are using PRO/ENTERPRISE plan, then it's a high resolution image (1400x1400). If you are using FREE plan, then it's the same as thumbnail, low resolution image (300x300).
listen.notes: EpisodeDescriptionField
EpisodeDescriptionField
Html of this episode's full description
listen.notes: CuratedSourceDomainField
CuratedSourceDomainField
The domain name of the source of this curated list.
listen.notes: PlaylistImageField
PlaylistImageField
High resolution image url of the playlist.
listen.notes: PlaylistVisibilityField
PlaylistVisibilityField
Visibility of this playlist.
listen.notes: PodcastDescriptionField
PodcastDescriptionField
Html of this episode's full description
listen.notes: ListenScoreGlobalRankField
ListenScoreGlobalRankField
The estimated popularity ranking of a podcast compared to all other rss-based public podcasts in the world. For example, if the value is 0.5%, then this podcast is one of the top 0.5% most popular shows out of all podcasts globally, ranked by Listen Score. If the ranking is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: PublisherOriginalField
PublisherOriginalField
Plain text of this podcast's publisher name.
listen.notes: AudioField
AudioField
Audio url of this episode, which can be played directly.
listen.notes: PodcastTitleHighlightedField
PodcastTitleHighlightedField
Highlighted segment of podcast name.
listen.notes: ThumbnailField
ThumbnailField
Thumbnail image url for this podcast's artwork (300x300).
listen.notes: TranscriptField
TranscriptField
The transcript of this episode, in plain text (with the newline character \n). If there's not transcript, it is null. This field is available only in the PRO/ENTERPRISE plan.
listen.notes: PlaylistListennotesUrlField
PlaylistListennotesUrlField
The url of this playlist on ListenNotes.com.
listen.notes: EpisodeIdField
EpisodeIdField
Episode id.
listen.notes: WebsiteField
WebsiteField
Website url of this podcast.
listen.notes: PlaylistIdField
PlaylistIdField
A 11-character playlist id.
listen.notes: LinkField
LinkField
Web link of this episode.
listen.notes: RssField
RssField
RSS url of this podcast. This field is available only in the PRO/ENTERPRISE plan.
listen.notes: CuratedNameField
CuratedNameField
Curated list name.
listen.notes: LanguageField
LanguageField
The language of this podcast. You can get all supported languages from GET /languages.
listen.notes: CuratedIdField
CuratedIdField
Curated list id.
listen.notes: EpisodeLNEditUrlField
EpisodeLNEditUrlField
Edit url of this episode where you can update the audio url if you find the audio is broken.
listen.notes: PublisherHighlightedField
PublisherHighlightedField
Highlighted segment of this podcast's publisher name.
listen.notes: PlaylistDescriptionField
PlaylistDescriptionField
Playlist description.
listen.notes: EmailField
EmailField
The email of this podcast's producer. This field is available only in the PRO/ENTERPRISE plan.
listen.notes: PodcastNameField
PodcastNameField
Podcast name.
listen.notes: CuratedLNUrlField
CuratedLNUrlField
The url of this curated list on ListenNotes.com.
listen.notes: CuratedSourceUrlField
CuratedSourceUrlField
Url of the source of this curated list.
listen.notes: BestPodcastsLNUrlField
BestPodcastsLNUrlField
Url of the list of best podcasts on ListenNotes.com.
listen.notes: EpisodeLNUrlField
EpisodeLNUrlField
The url of this episode on ListenNotes.com.
listen.notes: EpisodeThumbnailField
EpisodeThumbnailField
Thumbnail image (300x300) url for this episode. If an episode doesn't have its own image, then this field would be the url of the podcast artwork thumbnail image.
listen.notes: PodcastLNUrlField
PodcastLNUrlField
The url of this podcast on ListenNotes.com.
listen.notes: PodcastIdField
PodcastIdField
Podcast id.
Integer types
listen.notes: AudioLengthSecField
AudioLengthSecField
Audio length of this episode. In seconds.
listen.notes: EarliestPubDateMsField
EarliestPubDateMsField
The published date of the oldest episode of this podcast. In milliseconds
listen.notes: EpisodePubDateMsField
EpisodePubDateMsField
Published date for this episode. In millisecond.
listen.notes: ListenScoreField
ListenScoreField
The estimated popularity score of a podcast compared to all other rss-based public podcasts in the world on a scale from 0 to 100. If the score is not available, it'll be null. Learn more at listennotes.com/listen-score
listen.notes: ITunesIdField
ITunesIdField
iTunes id for this podcast.
listen.notes: CuratedTotalPodcastsField
CuratedTotalPodcastsField
The total number of podcasts in this curated list.
listen.notes: TotalEpisodesField
TotalEpisodesField
Total number of episodes in this podcast.
listen.notes: NextEpisodePubDateField
NextEpisodePubDateField
Passed to the next_episode_pub_date parameter of GET /podcasts/{id} to paginate through episodes of that podcast.
listen.notes: PlaylistLastTimestampMsField
PlaylistLastTimestampMsField
Passed to the last_timestamp_ms parameter of GET /playlists/{id} to paginate through items of that playlist.
listen.notes: LatestPubDateMsField
LatestPubDateMsField
The published date of the latest episode of this podcast. In milliseconds
listen.notes: CuratedPubDateMsField
CuratedPubDateMsField
Published date of this curated list. In milliseconds.
Boolean types
listen.notes: IsClaimedField
IsClaimedField
Whether this podcast is claimed by its producer on ListenNotes.com.
listen.notes: ExplicitField
ExplicitField
Whether this podcast contains explicit language.
listen.notes: MaybeAudioInvalidField
MaybeAudioInvalidField
Whether or not this episode's audio is invalid. Podcasters may delete the original audio.
Import
import ballerinax/listen.notes;Metadata
Released date: 1 day ago
Version: 1.5.2
License: Apache-2.0
Compatibility
Platform: any
Ballerina version: 2201.8.0
GraalVM compatible: Yes
Pull count
Total: 26
Current verison: 0
Weekly downloads
Keywords
Type/Connector
Vendor/Listen Notes
Area/Storage & File Management
Content & Files/Video & Audio
Cost/Freemium
Contributors
Dependencies