Get streaming analytics for a podcast
/v1/podcasts/{podcast_id}/analyticsAuthorizationBearer token · headerrequiredAPI key issued from /settings/api-keys in the Jellypod studio. Send as Authorization: Bearer <key>.
podcast_idstring<uuid>requiredPodcast UUID
Podcast analytics
dataPodcastAnalyticsrequiredStreaming metrics for a podcast: combined totals, per-app download breakdown, and per-episode metrics.
Show propertiesHide properties
analytics_enabledbooleanrequiredWhether download tracking is enabled. When false, audio metrics are 0.
as_ofstringrequiredISO-8601 time these metrics were computed.
completebooleanrequiredWhether every analytics source answered in full. When false an upstream (OP3 or Mux) was degraded, so the numbers are a floor rather than a total; retry later for a complete read.
episodesobject[]requiredShow propertiesHide properties
objectdownloadsobjectrequiredShow propertiesHide properties
first_7_daysnumberrequiredAudio downloads in the first 7 days after publish.
first_30_daysnumberrequiredAudio downloads in the first 30 days after publish.
totalnumberrequiredAll-time audio downloads (OP3).
video_viewsobjectrequiredShow propertiesHide properties
last_7_daysnumberrequiredWeb video views in the last 7 days.
last_30_daysnumberrequiredWeb video views in the last 30 days.
totalnumberrequiredWeb video views over the last 90 days (Mux retention window).
episode_idstring<uuid>requiredplays_by_appobjectrequiredAudio downloads grouped by client app (Spotify, Apple Podcasts, Overcast, ...). Show-level.
podcast_idstring<uuid>requiredtotalsobjectrequiredShow propertiesHide properties
downloadsnumberrequiredAll-time audio downloads (OP3).
last_7_daysnumberrequiredCombined plays in the last 7 days.
last_30_daysnumberrequiredCombined plays in the last 30 days.
playsnumberrequiredAll-time audio downloads + web video views.
video_viewsnumberrequiredWeb video views (Mux, last 90 days).
Validation failed or malformed request.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorMissing or invalid API key.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorAuthenticated, but this API key does not have access to this resource.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorResource not found.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorRate limit exceeded. Wait Retry-After seconds before retrying; RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset describe the window.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_errorInternal server error.
detailstringLonger human-readable explanation when available.
errorsobject[]Per-field validation failures. Present when type is validation_error.
Show propertiesHide properties
objectfieldstringrequiredmessagestringrequiredreasonstringScript import failure when one or more Speakers have no saved Character match.
unresolved_speakersrecoveryobjectShow propertiesHide properties
actionstringrequiredcorrect_inputchoose_characterscheck_accountpoll_contentopen_studiocheck_contentreconnectretrycheck_resultidempotency_keystringreusenewpoll_after_secondsnumbertoolstringlist_characterslist_contentget_contentsave_podcastrequest_idstringCorrelation id, also returned in the X-Request-Id response header. Include in support requests.
speakersstring[]Speaker labels needing a saved Character match when reason is unresolved_speakers.
statusintegerrequiredHTTP status code mirrored from the response.
titlestringrequiredShort human-readable summary.
typestringrequiredMachine-readable error class. Suitable for switch/match in client code.
bad_requestvalidation_errorunauthorizedforbiddennot_foundconflictmethod_not_allowedunsupported_media_typeunprocessable_entityrate_limitedbad_gatewayinternal_error