Skip to content

Download an episode transcript

GET
/api/public/episode/transcript
curl --request GET \
--url 'https://backend.podscribe.ai/api/public/episode/transcript?itunes_or_yt_id=example&guid=example&format=timestamps&start_if_missing=false' \
--header 'Authorization: Bearer <token>'

Response JSON for transcription.text when format=timestamps(default):

Field Type Example Description
transcription.text (format=timestamps) string [{“startTime”:0.075,“endTime”:0.365,“confidence”:0.99,“speaker”:0,“word”:“Hello”},{“startTime”:0.385,“endTime”:0.505,“confidence”:0.97,“speaker”:0,“word”:“world”,“isAd”:true}] A JSON-encoded array of word-level objects (see table below).

transcription.text word-level object format:

Field Type Example Description
startTime number 0.075 Start time of the word in seconds from the beginning of the audio.
endTime number 0.365 End time of the word in seconds from the beginning of the audio.
confidence number 0.99 Confidence score of the transcription (0 to 1).
speaker number 0 Speaker identifier.
word string This The transcribed word.
isAd boolean false Whether the word is part of an ad segment (optional).
itunes_or_yt_id
required
string

YouTube Channel ID / YouTube Playlist ID / iTunes ID

guid
required
string

The GUID of the episode

format
string
default: timestamps
Allowed values: timestamps text

Controls the format of the transcription text. Use “timestamps” (default) to get a JSON array of word-level objects including speaker labels and timestamps. Use “text” to get a single human-readable plain-text string.

start_if_missing
boolean

When true and transcription status is NotStarted, starts transcription and returns status Running. Repeat calls are safe (already Running/Done/Failed are unchanged). Exceeding the daily job quota returns 429. Defaults to false.

OK

Media typeapplication/json
object
id

The unique identifier for an episode in the Podscribe platform.

integer
title

The title of an episode of a podcast or other audio content.

string
guid

The globally unique identifier (GUID) for an episode in a podcast or YouTube channel

string
description

The description of an episode of a podcast or other audio content.

string
duration
One of:
number
url

The URL of the media file for an episode of a podcast or other audio content.

string
nullable
seriesId

The unique identifier for a series in the Podscribe platform.

string
artist

The artist of an episode of a podcast or other audio content.

string
nullable
seriesLogoUrl

The URL of the logo for a series of a podcast or other audio content.

string
nullable
seriesRssUrl

The RSS URL of a series of a podcast or other audio content.

string
nullable
seriesTitle

The title of a series of a podcast or other audio content.

string
seriesItunesId

The itunes id of a series of a podcast.

string
nullable
categories

Comma seperated list of categories podcast belongs to.

string
nullable
transcription
object
status

Transcription status: Done, Running, Failed, or NotStarted.

string
text
One of:

Human-readable plain-text transcript (format=text).

string
Examplegenerated
{
"id": 1,
"title": "example",
"guid": "example",
"description": "example",
"duration": 1,
"url": "example",
"seriesId": "example",
"artist": "example",
"seriesLogoUrl": "example",
"seriesRssUrl": "example",
"seriesTitle": "example",
"seriesItunesId": "example",
"categories": "example",
"transcription": {
"status": "example",
"text": [
"example"
]
}
}

Unprocessable Entity

Daily transcript job limit exceeded

Media typeapplication/json
object
message

Nodejs Error

object
Examplegenerated
{
"message": {}
}

Unexpected error.

Media typeapplication/json
object
message

Nodejs Error

object
Examplegenerated
{
"message": {}
}