Search Podcasts
https://api.podengine.ai/api/v1/search/podcasts Search for podcasts by title, description, or RSS feed URL
Request
Request body
Search terms1
searchTermsarray of object4 fields
Terms to search for in podcast title and description
The text to look for. Wrapping it in single or double quotes forces a phrase match, the same as setting searchTermOptions.phraseMatch.
How to match the term. 'text' runs keyword matching against each of the searchTargets.
Which fields to match this term against. A result matches if the term hits any one of its targets, so listing several widens the search rather than narrowing it.
searchTermOptionsobject4 fields
How this term is matched: whether it is required, treated as a phrase, or matched loosely.
How this term combines with the others. 'optional' (the default) lets the term raise a result's relevance without being required, though a result still has to match at least one term. 'must' requires it. 'not' excludes anything it matches.
Whether to match the search term as a phrase
How many words apart tokens can appear in a document to be considered a match
Whether to use fuzzy matching
Filters21
iTunes genres to include in results
iTunes genres to exclude from results
Specific podcast IDs to include in results
Specific podcast IDs to exclude from results
Specific episode IDs to exclude from results
Filter podcasts by language
Filter podcasts by country of origin using ISO 3166-1 alpha-2 codes, for example us
Filter podcasts founded after this date
Filter podcasts with episodes published after this date
Minimum number of total episodes
Maximum number of total episodes
Minimum iTunes rating score
Minimum number of iTunes ratings
Minimum Spotify rating score
Minimum number of Spotify ratings
Minimum number of Castbox plays
Minimum number of Castbox subscribers
Filter podcasts that have primary contact information
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
Filter podcasts that feature guests
Audience & scores2
podcastAuthorityScoreobject5 fields
Filter podcasts by their Authority Score
qualityScoreobject2 fields
Restrict results by the quality component of the Authority Score, which rates how well the show is produced and maintained: release consistency, episode length, artwork, show notes, transcript coverage, contact details and RSS completeness. Podcasts we have not scored are excluded.
engagementScoreobject2 fields
Restrict results by the engagement component of the Authority Score, which rates how strongly listeners respond to the show: review counts and ratings, recent Apple US chart position, and Castbox plays and subscribers. Podcasts we have not scored are excluded.
youtubeScoreobject2 fields
Restrict results by the YouTube component of the Authority Score, which rates the channel's subscribers, total views and most-viewed video. Podcasts we have not scored are excluded.
podcastAudienceEstimatedMonthlyListenersobject2 fields
Filter by the published estimated monthly listeners. Bounds are inclusive; omit min or max for an open-ended range. Podcasts without an estimate are excluded. Estimates under 1,000 (bucket 0-1K) match as 1 to 999 even though they read 1,000. Example: { "min": 10000, "max": 100000 }.
Project2
projectobject6 fields
Details about any Project this search is associated with. If included will filter out podcasts related to the project.
The Pod Engine Project ID
If true, will not include any podcasts marked as ignored on this project in the results.
If true, will not include any podcasts on the project list in the results.
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
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.
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.
[DEPRECATED] Project ID to associate the search with
Sorting1
sortOrderarray of object3 fields
Specify how results should be sorted
What to order by. 'relevance' is the search score. 'recentActivity' is the episode's publication date when searching episodes, and the podcast's most recent episode date when searching podcasts. 'title' orders alphabetically. 'appleReviews' and 'spotifyReviews' order by a rating that weighs the number of reviews as well as the average, so a 5.0 from three listeners does not outrank a 4.7 from thousands. Podcast-only metrics: 'estimatedListeners' orders by estimated monthly listeners, 'youtubeSubscribers' by total YouTube subscribers, 'youtubeViews' by total YouTube views, 'authorityScore' by authority score, and 'castboxSubscribers' by Castbox subscribers. These metrics always put missing values last and use relevance to break ties.
Where results that have no value for this field go. Defaults to 'last'. Ignored for 'relevance' and the podcast-only metrics.
Pagination2
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).
Number of results to return per page (default 25). Your plan caps how many results one page can return: 10 on Free, 100 on Individual, 200 on Business and 250 on Agency, unless your team has a custom limit. A larger pageSize returns the capped number, and the cursor fetches the rest. Pages that include project relevancy scores return at most 100.
Other parameters1
searchTermGroupsarray of object1 field
Groups of alternative terms, for "this OR that" searches. Each group requires at least one of its terms to match; groups combine with each other and with the 'must' searchTerms using AND. For example, two groups, ["GLP-1", "Ozempic"] and ["Noom"], return results that mention Noom and either GLP-1 or Ozempic. Up to 10 groups of up to 10 terms.
searchTermsarray of objectrequired4 fields
The terms in this group. A result has to match at least one of them.
The text to look for. Wrapping it in single or double quotes forces a phrase match, the same as setting searchTermOptions.phraseMatch.
How to match the term. 'text' runs keyword matching against each of the searchTargets.
Which fields to match this term against. A result matches if the term hits any one of its targets, so listing several widens the search rather than narrowing it.
searchTermOptionsobject3 fields
How this term is matched: as a phrase, or loosely. There is no matchMode here, because the group makes one of its terms required.
Whether to match the search term as a phrase
How many words apart tokens can appear in a document to be considered a match
Whether to use fuzzy matching
Response
200 application/jsondataobjectrequired6 fields
searchOptionsobjectrequired30 fields
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).
Number of results to return per page (default 25). Your plan caps how many results one page can return: 10 on Free, 100 on Individual, 200 on Business and 250 on Agency, unless your team has a custom limit. A larger pageSize returns the capped number, and the cursor fetches the rest. Pages that include project relevancy scores return at most 100.
projectobject6 fields
Details about any Project this search is associated with. If included will filter out podcasts related to the project.
The Pod Engine Project ID
If true, will not include any podcasts marked as ignored on this project in the results.
If true, will not include any podcasts on the project list in the results.
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
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.
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.
[DEPRECATED] Project ID to associate the search with
searchTermsarray of object4 fields
Terms to search for in podcast title and description
The text to look for. Wrapping it in single or double quotes forces a phrase match, the same as setting searchTermOptions.phraseMatch.
How to match the term. 'text' runs keyword matching against each of the searchTargets.
Which fields to match this term against. A result matches if the term hits any one of its targets, so listing several widens the search rather than narrowing it.
searchTermOptionsobject4 fields
How this term is matched: whether it is required, treated as a phrase, or matched loosely.
How this term combines with the others. 'optional' (the default) lets the term raise a result's relevance without being required, though a result still has to match at least one term. 'must' requires it. 'not' excludes anything it matches.
Whether to match the search term as a phrase
How many words apart tokens can appear in a document to be considered a match
Whether to use fuzzy matching
searchTermGroupsarray of object1 field
Groups of alternative terms, for "this OR that" searches. Each group requires at least one of its terms to match; groups combine with each other and with the 'must' searchTerms using AND. For example, two groups, ["GLP-1", "Ozempic"] and ["Noom"], return results that mention Noom and either GLP-1 or Ozempic. Up to 10 groups of up to 10 terms.
searchTermsarray of objectrequired4 fields
The terms in this group. A result has to match at least one of them.
The text to look for. Wrapping it in single or double quotes forces a phrase match, the same as setting searchTermOptions.phraseMatch.
How to match the term. 'text' runs keyword matching against each of the searchTargets.
Which fields to match this term against. A result matches if the term hits any one of its targets, so listing several widens the search rather than narrowing it.
searchTermOptionsobject3 fields
How this term is matched: as a phrase, or loosely. There is no matchMode here, because the group makes one of its terms required.
Whether to match the search term as a phrase
How many words apart tokens can appear in a document to be considered a match
Whether to use fuzzy matching
iTunes genres to exclude from results
Specific podcast IDs to exclude from results
Specific episode IDs to exclude from results
Filter podcasts founded after this date
Filter podcasts that have primary contact information
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
iTunes genres to include in results
Specific podcast IDs to include in results
Filter podcasts by language
Filter podcasts with episodes published after this date
Maximum number of total episodes
Minimum number of Castbox plays
Minimum number of Castbox subscribers
Minimum iTunes rating score
Minimum number of iTunes ratings
Minimum Spotify rating score
Minimum number of Spotify ratings
Minimum number of total episodes
Filter podcasts by country of origin using ISO 3166-1 alpha-2 codes, for example us
Filter podcasts that feature guests
podcastAuthorityScoreobject5 fields
Filter podcasts by their Authority Score
qualityScoreobject2 fields
Restrict results by the quality component of the Authority Score, which rates how well the show is produced and maintained: release consistency, episode length, artwork, show notes, transcript coverage, contact details and RSS completeness. Podcasts we have not scored are excluded.
engagementScoreobject2 fields
Restrict results by the engagement component of the Authority Score, which rates how strongly listeners respond to the show: review counts and ratings, recent Apple US chart position, and Castbox plays and subscribers. Podcasts we have not scored are excluded.
youtubeScoreobject2 fields
Restrict results by the YouTube component of the Authority Score, which rates the channel's subscribers, total views and most-viewed video. Podcasts we have not scored are excluded.
podcastAudienceEstimatedMonthlyListenersobject2 fields
Filter by the published estimated monthly listeners. Bounds are inclusive; omit min or max for an open-ended range. Podcasts without an estimate are excluded. Estimates under 1,000 (bucket 0-1K) match as 1 to 999 even though they read 1,000. Example: { "min": 10000, "max": 100000 }.
sortOrderarray of object3 fields
Specify how results should be sorted
What to order by. 'relevance' is the search score. 'recentActivity' is the episode's publication date when searching episodes, and the podcast's most recent episode date when searching podcasts. 'title' orders alphabetically. 'appleReviews' and 'spotifyReviews' order by a rating that weighs the number of reviews as well as the average, so a 5.0 from three listeners does not outrank a 4.7 from thousands. Podcast-only metrics: 'estimatedListeners' orders by estimated monthly listeners, 'youtubeSubscribers' by total YouTube subscribers, 'youtubeViews' by total YouTube views, 'authorityScore' by authority score, and 'castboxSubscribers' by Castbox subscribers. These metrics always put missing values last and use relevance to break ties.
Where results that have no value for this field go. Defaults to 'last'. Ignored for 'relevance' and the podcast-only metrics.
searchResultsStatsobjectrequired3 fields
resultobjectrequired4 fields
Highest relevance score in the result set, or null when unavailable.
Number of hits returned in this page.
hitsarray of objectrequired116 fields
Matching podcasts. Optional fields depend on the field selection used by the search service.
chartPositionsarray of objectnullable11 fields
The date of the chart position in YYYY-MM-DD format.
Newest known edition of this platform/country/category chart when calculated (UTC YYYY-MM-DD). Equal to date means present on the latest known edition, which may itself be old. A later date means newer chart results exist without this podcast. Absent on documents awaiting freshness backfill.
The type of chart (e.g., "apple", "spotify").
The ISO country code where this chart position applies.
The main category of the chart (e.g., "top podcasts").
The sub-category of the chart, if applicable.
The current position of the podcast on the chart.
The previous position of the podcast on the chart.
The change in position from the previous chart (positive = moved up, negative = moved down).
The total number of days the podcast has been on this chart.
The number of consecutive days the podcast has been on this chart.
podcastSocialMediaLinksarray of object2 fields
similarPodcastsarray of object4 fields
youtubeChannelsarray of object10 fields
Search relevance score; zero when Elasticsearch does not return a score.