Search Podcasts

POST /search/podcasts

Search for podcasts by title, description, or RSS feed URL

TOKEN

Authentication

This endpoint requires an API token. You can learn more about how to get an API token from the authentication page.

URL

https://api.podengine.ai/api/v1/search/podcasts

Code Example

API Specification

Request Body

PropertyTypeDescription
cursoroptionalnullable
string

Pagination cursor for fetching the next page of results. This cursor is stateless and does not expire. However, because it uses search_after pagination, results may be inconsistent if the underlying data changes between requests (e.g., you may see duplicate or missing results if documents are added/removed).

pageSizeoptional
number ⓘ

Constraints:

>= 1<= 1000

Number of results to return per page

projectoptional
object

Details about any Project this search is associated with. If included will filter out podcasts related to the project.

projectId
string

The Pod Engine Project ID

excludeIgnoredPodcastsoptional
unknown

If true, will not include any podcasts marked as ignored on this project in the results.

excludePodcastsOnListoptional
unknown

If true, will not include any podcasts on the project list in the results.

includePodcastRelevancyoptional
unknown

If the podcast relevancy should be included with the search results. Note that including this will limit your search results to 20 total and also slow down the search results response

excludeRelvancyValuesoptional
array
of
number ⓘ

Constraints:

>= 1<= 5

If provided, will exclude podcasts with these relevancy values. Valid values are 1-5. Note this is a server side filter and will only work if includePodcastRelevancy is set.

forceRecalculateRelevancyoptional
unknown

If true, will force a recalculation of the podcast relevancy values for this search. Note this will slow down the search results response and should only be used if you believe the relevancy values are out of date.

projectIdoptional
string

[DEPRECATED] Project ID to associate the search with

searchTermsoptional
array
of
object

Terms to search for in podcast title and description

searchTerm
string ⓘ

Constraints:

min(2)

searchType
enum ⓘ

Allowed values

textembeddings

searchTargets
array
of
enum ⓘ

Allowed values

podcast-titlepodcast-description

searchTermOptions
object

matchMode
enum ⓘ

Allowed values

mustnotoptional

phraseMatchoptional
boolean

Whether to match the search term as a phrase

slopoptional
number

How many words apart tokens can appear in a document to be considered a match

fuzzyoptional
boolean

Whether to use fuzzy matching

excludeItunesGenresoptional
array
of
string

iTunes genres to exclude from results

excludePodcastIdsoptional
array
of
string

Specific podcast IDs to exclude from results

excludeEpisodeIdsoptional
array
of
string

Specific episode IDs to exclude from results

explicitoptional
enum ⓘ

Allowed values

cleanexplicit

Filter by explicit content rating

foundedSinceoptional
any

Filter podcasts founded after this date

hasPrimaryContactoptional
unknown

Filter podcasts that have primary contact information

hasSocialsoptional
array
of
enum ⓘ

Allowed values

beehiivbehanceblueskydiscordfacebookgithubinstagramlinkedinlinktreemastodonmediumpatreonpinterestredditsnapchatsoundcloudsubstackthreadstiktoktumblrtwitchtwittervimeowhatsappyoutube

Filter podcasts with specific social media presence from beehiiv, behance, bluesky, discord, facebook, github, instagram, linkedin, linktree, mastodon, medium, patreon, pinterest, reddit, snapchat, soundcloud, substack, threads, tiktok, tumblr, twitch, twitter, vimeo, whatsapp, youtube

includeItunesGenresoptional
array
of
string

iTunes genres to include in results

includePodcastIdsoptional
array
of
string

Specific podcast IDs to include in results

languagesoptional
array
of
string

Filter podcasts by language

lastEpisodeDateSinceoptional
date

Filter podcasts with episodes published after this date

maxTotalEpisodesoptional
number ⓘ

Constraints:

>= 1

Maximum number of total episodes

minCastboxPlaysoptional
number ⓘ

Constraints:

>= 1

Minimum number of Castbox plays

minCastboxSubscribersoptional
number ⓘ

Constraints:

>= 1

Minimum number of Castbox subscribers

minItunesRatingoptional
number ⓘ

Constraints:

>= 0<= 5

Minimum iTunes rating score

minItunesRatingCountoptional
number ⓘ

Constraints:

>= 1

Minimum number of iTunes ratings

minSpotifyRatingoptional
number ⓘ

Constraints:

>= 0<= 5

Minimum Spotify rating score

minSpotifyRatingCountoptional
number ⓘ

Constraints:

>= 1

Minimum number of Spotify ratings

minTotalEpisodesoptional
number ⓘ

Constraints:

>= 1

Minimum number of total episodes

podcastCountriesoptional
array
of
string

Filter podcasts by country of origin using ISO 3166-1 alpha-2 codes, for example us

podcastHasGuestsoptional
unknown

Filter podcasts that feature guests

podcastAuthorityScoreoptional
object

Filter podcasts by their Authority Score

authorityScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

qualityScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

engagementScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

socialScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

youtubeScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

sortOrderoptional
array
of
object

Specify how results should be sorted

field
enum ⓘ

Allowed values

relevancerecentActivitytitleappleReviewsspotifyReviews

directionoptional
enum ⓘ

Allowed values

ascdesc

nullOrderoptional
enum ⓘ

Allowed values

firstlast

200

Success Response

PropertyTypeDescription
status
literal: OK

data
object

searchMode
literal: podcasts

searchId
string

searchOptions
object

cursoroptionalnullable
string

Pagination cursor for fetching the next page of results. This cursor is stateless and does not expire. However, because it uses search_after pagination, results may be inconsistent if the underlying data changes between requests (e.g., you may see duplicate or missing results if documents are added/removed).

pageSizeoptional
number ⓘ

Constraints:

>= 1<= 1000

Number of results to return per page

projectoptional
object

Details about any Project this search is associated with. If included will filter out podcasts related to the project.

projectId
string

The Pod Engine Project ID

excludeIgnoredPodcastsoptional
unknown

If true, will not include any podcasts marked as ignored on this project in the results.

excludePodcastsOnListoptional
unknown

If true, will not include any podcasts on the project list in the results.

includePodcastRelevancyoptional
unknown

If the podcast relevancy should be included with the search results. Note that including this will limit your search results to 20 total and also slow down the search results response

excludeRelvancyValuesoptional
array
of
number ⓘ

Constraints:

>= 1<= 5

If provided, will exclude podcasts with these relevancy values. Valid values are 1-5. Note this is a server side filter and will only work if includePodcastRelevancy is set.

forceRecalculateRelevancyoptional
unknown

If true, will force a recalculation of the podcast relevancy values for this search. Note this will slow down the search results response and should only be used if you believe the relevancy values are out of date.

projectIdoptional
string

[DEPRECATED] Project ID to associate the search with

searchTermsoptional
array
of
object

Terms to search for in podcast title and description

searchTerm
string ⓘ

Constraints:

min(2)

searchType
enum ⓘ

Allowed values

textembeddings

searchTargets
array
of
enum ⓘ

Allowed values

podcast-titlepodcast-description

searchTermOptions
object

matchMode
enum ⓘ

Allowed values

mustnotoptional

phraseMatchoptional
boolean

Whether to match the search term as a phrase

slopoptional
number

How many words apart tokens can appear in a document to be considered a match

fuzzyoptional
boolean

Whether to use fuzzy matching

excludeItunesGenresoptional
array
of
string

iTunes genres to exclude from results

excludePodcastIdsoptional
array
of
string

Specific podcast IDs to exclude from results

excludeEpisodeIdsoptional
array
of
string

Specific episode IDs to exclude from results

explicitoptional
enum ⓘ

Allowed values

cleanexplicit

Filter by explicit content rating

foundedSinceoptional
any

Filter podcasts founded after this date

hasPrimaryContactoptional
unknown

Filter podcasts that have primary contact information

hasSocialsoptional
array
of
enum ⓘ

Allowed values

beehiivbehanceblueskydiscordfacebookgithubinstagramlinkedinlinktreemastodonmediumpatreonpinterestredditsnapchatsoundcloudsubstackthreadstiktoktumblrtwitchtwittervimeowhatsappyoutube

Filter podcasts with specific social media presence from beehiiv, behance, bluesky, discord, facebook, github, instagram, linkedin, linktree, mastodon, medium, patreon, pinterest, reddit, snapchat, soundcloud, substack, threads, tiktok, tumblr, twitch, twitter, vimeo, whatsapp, youtube

includeItunesGenresoptional
array
of
string

iTunes genres to include in results

includePodcastIdsoptional
array
of
string

Specific podcast IDs to include in results

languagesoptional
array
of
string

Filter podcasts by language

lastEpisodeDateSinceoptional
date

Filter podcasts with episodes published after this date

maxTotalEpisodesoptional
number ⓘ

Constraints:

>= 1

Maximum number of total episodes

minCastboxPlaysoptional
number ⓘ

Constraints:

>= 1

Minimum number of Castbox plays

minCastboxSubscribersoptional
number ⓘ

Constraints:

>= 1

Minimum number of Castbox subscribers

minItunesRatingoptional
number ⓘ

Constraints:

>= 0<= 5

Minimum iTunes rating score

minItunesRatingCountoptional
number ⓘ

Constraints:

>= 1

Minimum number of iTunes ratings

minSpotifyRatingoptional
number ⓘ

Constraints:

>= 0<= 5

Minimum Spotify rating score

minSpotifyRatingCountoptional
number ⓘ

Constraints:

>= 1

Minimum number of Spotify ratings

minTotalEpisodesoptional
number ⓘ

Constraints:

>= 1

Minimum number of total episodes

podcastCountriesoptional
array
of
string

Filter podcasts by country of origin using ISO 3166-1 alpha-2 codes, for example us

podcastHasGuestsoptional
unknown

Filter podcasts that feature guests

podcastAuthorityScoreoptional
object

Filter podcasts by their Authority Score

authorityScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

qualityScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

engagementScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

socialScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

youtubeScoreoptional
object

minnullable
number ⓘ

Constraints:

>= 0<= 100

maxnullable
number ⓘ

Constraints:

>= 0<= 100

sortOrderoptional
array
of
object

Specify how results should be sorted

field
enum ⓘ

Allowed values

relevancerecentActivitytitleappleReviewsspotifyReviews

directionoptional
enum ⓘ

Allowed values

ascdesc

nullOrderoptional
enum ⓘ

Allowed values

firstlast

seachResultsStats
object

time
object

totalTimeTakenMs
number

totalSearchTimeMs
number

totalPostProcessingTimeMs
number

totals
object

blacklistedPodcasts
number

projectExcludedPodcasts
number

totalResultsAvailable
number

resultsProcessed
number

resultsFiltered
number

resultsReturned
number

filters
object

relevancyScoresTotals
record

projectPodcastRelevancyScoresoptional
record

If includePodcastRelevancy is true this will be included with 1 record for each unique podcast in the results

result
any

cursornullable
string