Skip to content

Search Episodes

GET
/api/public/episode/search

Search for episodes by query string. Supports searching in episode titles, descriptions, and transcripts.

Search Episodes
curl --request GET \
--url 'https://backend.podscribe.ai/api/public/episode/search?search=example&timeFrame=31&exact=false&transcriptOnly=false&excludeAds=false' \
--header 'Authorization: Bearer <token>'
search
required
string

Search query string

timeFrame
integer
Default value: 31

Number of days to look back.

exact
boolean
Default value: false

Enable exact match search.

transcriptOnly
boolean
Default value: false

Search only in transcripts, not in titles/descriptions.

excludeAds
boolean
Default value: false

Exclude ads from search results.

showFilterIds
Array<integer>

Filter episodes by multiple show IDs (array)

mediaType
Array
Allowed values: all podcast youtube radio radio_show rumble
1 moreLess

Filter episodes by media type. Can be a single value or array. If ‘all’ is included, no filter is applied.

Media typeapplication/json
data

Episodes matching the search query.

Array
podcast

The matched episode.

{id,title,description,10 more}
id

The unique identifier for an episode in the Podscribe platform.

string
title

The title of the episode.

string
description

The description of the episode.

string
uploadedAt

The date and time the episode was uploaded.

string<date-time>
url

The URL of the media file for the episode.

string
seriesId

The unique identifier for a series in the Podscribe platform.

integer
seriesTitle

The title of the series.

string
seriesPlatform

The platform of the series, such as podcast, youtube, rumble or radio.

string
seriesLogoUrl

The URL of the series logo.

string
seriesSmallLogoUrl

The URL of the small series logo.

string
artist

The artist of the series.

string
numListens

The number of listens of the episode.

integer
numRatings

The number of ratings of the series.

integer
highlights

Search highlights containing matched text snippets from transcripts, titles, or descriptions.

{title,description,transcript}
title

Matched title fragments with HTML emphasis tags.

Array<string>
description

Matched description fragments with HTML emphasis tags.

Array<string>
transcript

Array of transcript highlights containing matched phrases.

Array<{phrase,startTime,term,2 more}>
phrase

The highlighted phrase from the transcript with HTML emphasis tags.

string
startTime

The start time of the matched phrase in seconds.

number<float>
term

The search query that was sent.

string
ts

The timestamp of the matched phrase in seconds (same as startTime).

number<float>
context

The context around the matched phrase with HTML emphasis tags.

string
score

The relevance score of the match.

number<float>
Response example
{
"data": [
{
"podcast": {
"id": "example",
"title": "example",
"description": "example",
"uploadedAt": "2026-04-15T12:00:00Z",
"url": "example",
"seriesId": 1,
"seriesTitle": "example",
"seriesPlatform": "example",
"seriesLogoUrl": "example",
"seriesSmallLogoUrl": "example",
"artist": "example",
"numListens": 1,
"numRatings": 1
},
"highlights": {
"title": [
"example"
],
"description": [
"example"
],
"transcript": [
{
"phrase": "example",
"startTime": 1,
"term": "example",
"ts": 1,
"context": "example"
}
]
},
"score": 1
}
]
}