PodcastIndex Episodes API
Find details about one or more episodes of a podcast or podcasts.
Find details about one or more episodes of a podcast or podcasts.
openapi: 3.0.2
info:
version: 1.12.1
title: PodcastIndex.org Add Episodes API
termsOfService: https://github.com/Podcastindex-org/legal/blob/main/TermsOfService.md
contact:
email: info@podcastindex.org
url: https://podcastindex.org/
license:
name: MIT
url: https://github.com/Podcastindex-org/docs-api/blob/master/LICENSE
x-logo:
url: logo.svg
href: /
description: "Download the openapi spec in [json](pi_api.json) or [yaml](pi_api.yaml) format.\n\n# Overview\n\nThe Podcast Index (Podcast Index LLC) is a software developer focused partnership that provides tools and data to\nanyone who aspires to create new and exciting Podcast experiences without the heavy lifting of indexing,\naggregation and data management.\n\n# Example Code\n\nUsers have provided example code for working the API in the following languages:\n\n - [AWS Lambda - python](https://github.com/tbowers/python-podcastindex-org-lambda)\n - [Bash](https://github.com/suorcd/Bash-podcastindex-org-example)\n - [C#](https://github.com/ComicStrip/csharp-podcastindex-org-example)\n - [Elisp](https://github.com/sabexx/elisp-example)\n - [Flutter/Dart](https://github.com/crediblecreative/flutter-dart-podcastindex-org-example)\n - [Go](https://github.com/ComicStrip/Go-podcastindex-org-example)\n - [Go](https://github.com/kilobit/podcast-index-client)\n - [Java](https://github.com/ComicStrip/Java-podcastindex-org-example)\n - [Java](https://github.com/stucoates/PodcastIndexJavaClient)\n - [Node.js](https://github.com/ComicStrip/node.js-podcastindex-org-example)\n - [PHP](https://github.com/Podcastindex-org/example-code)\n - [Python](https://github.com/tbowers/python-podcastindex-org-example)\n - [Swift](https://github.com/ComicStrip/Swift-podcastindex-org-example)\n - ... [More](https://github.com/Podcastindex-org-Examples)\n\nDon't see your desired language, create an example repo and create a\n[Pull Request](https://github.com/Podcastindex-org/docs-api/pulls) with a link to your example code project!\n\n# Libraries\n\nUser created libraries for working with the API:\n\n - Java\n - [podcast4j](https://github.com/yusufyilmazfr/podcast4j)\n - .NET\n - [PodcastIndexSharp](https://www.nuget.org/packages/PodcastIndexSharp)\n - Node.js/npm/yarn\n - [podcast-index-api](https://www.npmjs.com/package/podcast-index-api)\n - [podcastdx-client](https://www.npmjs.com/package/podcastdx-client)\n - PHP\n - [podcastindex-php](https://github.com/LowSociety/podcastindex-php)\n - Python/pip\n - [python-podcastindex](https://pypi.org/project/python-podcastindex/)\n - R\n - [podindexr](https://github.com/rpodcast/podindexr)\n - Ruby\n - [podcast-index](https://github.com/jasonyork/podcast-index)\n - Swift\n - [PodcastIndexKit](https://github.com/SparrowTek/PodcastIndexKit)\n - Kotlin\n - [PodcastIndex-SDK](https://github.com/mr3y-the-programmer/PodcastIndex-SDK)\n - Go\n - [podcastindex](https://github.com/jjgmckenzie/podcastindex)\n - [podcastindex-go](https://github.com/koalahl/podcastindex-go)\n\nAre we missing a library? Did you create one for a different language? Create a\n[Pull Request](https://github.com/Podcastindex-org/docs-api/pulls) with a link to the new library!\n\n# Postman\n\nA collection file for use in the [Postman](https://www.postman.com/) application is available for this API.\n\n 1. Download the contents of the [Postman Docs](https://github.com/Podcastindex-org/docs-api/tree/master/Postman%20Docs) folder.\n 2. Import the `PodcastIndex.postman_collection.json` collection to Postman\n 3. Import the `PodcastIndexOrgEnvironment.postman_environment.json` to Postman\n 4. Click \"Environments\" on the left sidebar\n 5. Select the checkbox next to the PodcastIndexOrgEnvironment entry\n 6. Set `AuthKey` and `SeceretKey` values under the \"Current Value\" column using your API information\n 7. Click \"Collections\" from the sidebar\n 8. Select PodcastIndex\n 9. Select and run the endpoint to test\n\n# Contributing\n\nThe source for this API documentation is available at\n[https://github.com/Podcastindex-org/docs-api](https://github.com/Podcastindex-org/docs-api).\nSubmit an Issue or create a Pull Request.\n\n# Authentication Details\n\nSending an API request is easy. We use an Amazon-style request authorization token to secure each request.\n\n\nRegister for a free API key at https://api.podcastindex.org/\n\n\nThese headers parameters are required for each request: `User-Agent`, `X-Auth-Date`, `X-Auth-Key`, `Authorization`\n\n\nSee [Authentication](#auth) for description of parameters.\n\n# Legal\n\nLegal\n\n - [Privacy Policy](https://github.com/Podcastindex-org/legal/blob/main/PrivacyPolicy.md)\n - [Terms of Service](https://github.com/Podcastindex-org/legal/blob/main/TermsOfService.md)\n - [License](https://github.com/Podcastindex-org/docs-api/blob/master/LICENSE)\n"
servers:
- url: https://api.podcastindex.org/api/1.0
tags:
- name: Episodes
description: 'Find details about one or more episodes of a podcast or podcasts.
'
paths:
/episodes/byfeedid:
get:
tags:
- Episodes
summary: By Feed ID
description: "This call returns all the episodes we know about for this feed from the PodcastIndex ID.\nEpisodes are in reverse chronological order.\n\n\nWhen using the `enclosure` parameter, only the episode matching the URL is returned.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=75075&pretty\n - https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=41504,920666&pretty\n - https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=75075&newest&pretty\n - https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=41504,920666&newest&pretty\n - Includes `persons`: https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=169991&pretty\n - Includes `value`: https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=4058673&pretty\n - Using `enclosure`: https://api.podcastindex.org/api/1.0/episodes/byfeedid?id=41504&enclosure=https://op3.dev/e/mp3s.nashownotes.com/NA-1551-2023-04-30-Final.mp3&pretty\n"
operationId: episodes/byfeedid
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/id_feed_episode_pi'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/enclosure'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/newest'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byfeedid'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/byfeedurl:
get:
tags:
- Episodes
summary: By Feed URL
description: "This call returns all the episodes we know about for this feed from the feed URL.\nEpisodes are in reverse chronological order.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/episodes/byfeedurl?url=https://feeds.theincomparable.com/batmanuniversity&pretty\n - Includes `persons`: https://api.podcastindex.org/api/1.0/episodes/byfeedurl?url=https://engineered.network/pragmatic/feed/index.xml&pretty\n - Includes `value`: https://api.podcastindex.org/api/1.0/episodes/byfeedurl?url=https://closing-the-loop.github.io/feed.xml&pretty\n"
operationId: episodes/byfeedurl
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/url'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byfeedurl'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/bypodcastguid:
get:
tags:
- Episodes
summary: By Podcast GUID
description: 'This call returns all the episodes we know about for this feed from the [Podcast GUID](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid).
Episodes are in reverse chronological order.
Example: https://api.podcastindex.org/api/1.0/episodes/bypodcastguid?guid=856cd618-7f34-57ea-9b84-3600f1f65e7f&pretty
'
operationId: episodes/bypodcastguid
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/guid_feed_podcast'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byfeedurl'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/byitunesid:
get:
tags:
- Episodes
summary: By iTunes ID
description: "This call returns all the episodes we know about for this feed from the iTunes ID.\nEpisodes are in reverse chronological order.\n\n\nWhen using the `enclosure` parameter, only the episode matching the URL is returned.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/episodes/byitunesid?id=1441923632&pretty\n - Using `enclosure`: https://api.podcastindex.org/api/1.0/episodes/byitunesid?id=269169796&enclosure=https://op3.dev/e/mp3s.nashownotes.com/NA-1551-2023-04-30-Final.mp3&pretty\n"
operationId: episodes/byitunesid
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/id_feed_podcast_itunes'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/enclosure'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byitunesid'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/byid:
get:
tags:
- Episodes
summary: By ID
description: 'Get all the metadata for a single episode by passing its id.
Example: https://api.podcastindex.org/api/1.0/episodes/byid?id=16795090&pretty
'
operationId: episodes/byid
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/id_episode_pi'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byid'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/byguid:
get:
tags:
- Episodes
summary: By GUID
description: "Get all the metadata for a single episode by passing its guid and the feed id or URL.\n\n\nThe `feedid`, `feedurl`, or `podcastguid` is required.\n\n\nExamples: \n\n - Search using Podcast Index feed ID: https://api.podcastindex.org/api/1.0/episodes/byguid?guid=PC2084&feedid=920666&pretty\n - Search using feed URL: https://api.podcastindex.org/api/1.0/episodes/byguid?guid=PC2084&feedurl=http://mp3s.nashownotes.com/pc20rss.xml&pretty\n"
operationId: episodes/byguid
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/guid_episode'
- $ref: '#/components/parameters/feedurl'
- $ref: '#/components/parameters/feedid'
- $ref: '#/components/parameters/podcastguid_optional'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_byguid'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/live:
get:
tags:
- Episodes
summary: Live
description: "Get all episodes that have been found in the [podcast:liveitem](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#live-item) from the feeds.\n\n\nExamples: \n\n - https://api.podcastindex.org/api/1.0/episodes/live?pretty\n"
operationId: episodes/live
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_live'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/episodes/random:
get:
tags:
- Episodes
summary: Random
description: "This call returns a random batch of episodes, in no specific order.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/episodes/random?notcat=News,Religion&lang=en,es&pretty\n - https://api.podcastindex.org/api/1.0/episodes/random?max=2&pretty\n"
operationId: episodes/random
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_random'
- $ref: '#/components/parameters/lang'
- $ref: '#/components/parameters/cat'
- $ref: '#/components/parameters/notcat'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/episodes_random'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
components:
parameters:
newest:
name: newest
in: query
description: 'If present, returns only the most recent (newest) episode for each specified feed id.
Parameter shall not have a value
'
schema:
type: boolean
allowEmptyValue: true
pretty:
name: pretty
in: query
description: 'If present, makes the output “pretty” to help with debugging.
Parameter shall not have a value
'
schema:
type: boolean
allowEmptyValue: true
max:
name: max
in: query
description: 'Maximum number of results to return.
'
schema:
type: integer
minimum: 1
maximum: 1000
example: 10
id_episode_pi:
name: id
in: query
description: 'The PodcastIndex episode ID to search for.
'
required: true
schema:
type: integer
example: 16795089
id_feed_podcast_itunes:
name: id
in: query
description: 'The iTunes Feed ID to search for
'
required: true
schema:
type: integer
examples:
id_only:
value: 1441923632
description: iTunes ID without any prefix
prefix:
value: id1441923632
description: iTunes ID with optional "id" prefix
feedurl:
name: feedurl
in: query
description: 'The Feed URL
'
required: false
schema:
type: string
example: http://mp3s.nashownotes.com/pc20rss.xml
max_random:
name: max
in: query
description: 'Maximum number of results to return.
'
schema:
type: integer
default: 1
minimum: 1
maximum: 1000
example: 2
guid_feed_podcast:
name: guid
in: query
description: 'The GUID from the `podcast:guid` tag in the feed. This value is a unique, global identifier for the podcast.
See the namespace spec for
[guid](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid) for details.
'
required: true
schema:
type: string
example: 9b024349-ccf0-5f69-a609-6b82873eab3c
lang:
name: lang
in: query
description: 'Specifying a language code (like "en") will return only episodes having that specific language.
You can specify multiple languages by separating them with commas.
If you also want to return episodes that have no language given, use the token "unknown". (ex. en,es,ja,unknown).
Values are not case sensitive.
'
schema:
type: string
examples:
single:
value: en
description: Single ID
multiple:
value: en,es
description: Multiple IDs
guid_episode:
name: guid
in: query
description: "The guid value for the episode to retrieve.\n\n\n This value is the value specified in the feed's `<guid>` field.\n"
required: true
schema:
type: string
example: PC2084
notcat:
name: notcat
in: query
description: 'Use this argument to specify categories of episodes to **NOT** show in the results.
Separate multiple categories with commas.
You may specify either the Category ID and/or the Category Name.
Values are not case sensitive.
The `cat` and `notcat` filters can be used together to fine tune a very specific result set.
Category numbers and names can be found in the
[Podcast Namespace documentation](https://github.com/Podcastindex-org/podcast-namespace/blob/main/categories.json)
'
schema:
type: string
examples:
single_name:
value: News
description: Single Category Name
single_id:
value: 65
description: Single Category ID
multiple_name:
value: News,Religion
description: Multiple Category Names
multiple_id_:
value: 55,65
description: Multiple Category IDs
multiple_mixed:
value: News,65
description: Multiple Categories Mixed Format
since:
name: since
in: query
description: 'Return items since the specified epoch timestamp.
'
schema:
type: integer
example: 1612125785
feedid:
name: feedid
in: query
description: 'The PodcastIndex Feed ID
'
required: false
schema:
type: string
example: '920666'
fulltext:
name: fulltext
in: query
description: 'If present, return the full text value of any text fields (ex: `description`).
If not provided, field value is truncated to 100 words.
Parameter shall not have a value
'
schema:
type: boolean
allowEmptyValue: true
id_feed_episode_pi:
name: id
in: query
description: 'The PodcastIndex Feed ID or IDs to search for.
If searching for multiple IDs, separate values with a comma. A maximum of 200 IDs can be provided.
'
required: true
schema:
type: string
examples:
single:
value: 75075
description: Single ID
multiple:
value: 41504,920666
description: Multiple IDs
url:
name: url
in: query
description: 'Podcast feed URL
'
required: true
allowReserved: true
schema:
type: string
example: https://feeds.theincomparable.com/batmanuniversity
podcastguid_optional:
name: podcastguid
in: query
description: 'The GUID from the `podcast:guid` tag in the feed. This value is a unique, global identifier for the podcast.
See the namespace spec for
[guid](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid) for details.
'
schema:
type: string
example: 917393e3-1b1e-5cef-ace4-edaa54e1f810
cat:
name: cat
in: query
description: 'Use this argument to specify that you **ONLY** want episodes with these categories in the results.
Separate multiple categories with commas.
You may specify either the Category ID and/or the Category Name.
Values are not case sensitive.
The `cat` and `notcat` filters can be used together to fine tune a very specific result set.
Category numbers and names can be found in the
[Podcast Namespace documentation](https://github.com/Podcastindex-org/podcast-namespace/blob/main/categories.json)
'
schema:
type: string
examples:
single_name:
value: News
description: Single Category Name
single_id:
value: 65
description: Single Category ID
multiple_name:
value: News,Religion
description: Multiple Category Names
multiple_id_:
value: 55,65
description: Multiple Category IDs
multiple_mixed:
value: News,65
description: Multiple Categories Mixed Format
enclosure:
name: enclosure
in: query
description: 'The URL for the episode enclosure to get the information for.
'
required: false
schema:
type: string
example: https://op3.dev/e/mp3s.nashownotes.com/NA-1551-2023-04-30-Final.mp3
responses:
episodes_random:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
episodes:
$ref: '#/components/schemas/episodes_random_array'
count:
$ref: '#/components/schemas/count'
max:
$ref: '#/components/schemas/max'
description:
$ref: '#/components/schemas/description_response'
'400':
description: Invalid request
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
description:
$ref: '#/components/schemas/description_response'
example:
status: 'false'
description: Invalid parameters
episodes_byfeedid:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
liveItems:
$ref: '#/components/schemas/liveItems_podcast'
items:
$ref: '#/components/schemas/items_podcast'
count:
$ref: '#/components/schemas/count'
query:
oneOf:
- $ref: '#/components/schemas/query_podcast_id_single'
- $ref: '#/components/schemas/query_podcast_id_multiple'
description:
$ref: '#/components/schemas/description_response'
episodes_byguid:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
id:
$ref: '#/components/schemas/feedid_query'
url:
$ref: '#/components/schemas/feedurl_query'
podcastGuid:
$ref: '#/components/schemas/podcastguid'
guid:
$ref: '#/components/schemas/guid_query'
episode:
$ref: '#/components/schemas/episode_object'
description:
$ref: '#/components/schemas/description_response'
episodes_byfeedurl:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
items:
$ref: '#/components/schemas/items_podcast'
count:
$ref: '#/components/schemas/count'
query:
$ref: '#/components/schemas/query_url'
description:
$ref: '#/components/schemas/description_response'
episodes_byitunesid:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
items:
$ref: '#/components/schemas/items_itunesId'
count:
$ref: '#/components/schemas/count'
query:
$ref: '#/components/schemas/id_query'
description:
$ref: '#/components/schemas/description_response'
episodes_live:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
items:
$ref: '#/components/schemas/items_live'
count:
$ref: '#/components/schemas/count'
max:
$ref: '#/components/schemas/max'
description:
$ref: '#/components/schemas/description_response'
episodes_byid:
description: Success
content:
application/json:
schema:
type: object
properties:
status:
$ref: '#/components/schemas/status'
id:
$ref: '#/components/schemas/id_episode'
episode:
$ref: '#/components/schemas/episode_object'
description:
$ref: '#/components/schemas/description_response'
'401':
description: Not authenticated
content:
application/json:
schema:
type: string
example: Authorization header value either not set or blank.
schemas:
person:
type: object
properties:
id:
$ref: '#/components/schemas/id_person'
name:
$ref: '#/components/schemas/name_person'
role:
$ref: '#/components/schemas/role'
group:
$ref: '#/components/schemas/group'
href:
$ref: '#/components/schemas/href'
img:
$ref: '#/components/schemas/img'
enclosureLength:
description: 'The length of the item specified by the `enclosureUrl` in bytes
'
type: integer
format: bytes
example: 26385472
id_person:
description: 'The internal PodcastIndex.org person ID.
'
type: integer
example: 411960
max:
description: 'Value of `max` parameter passed to request.
'
type: integer
nullable: true
example: 2
type_v4v:
description: 'Payment type
'
type: string
enum:
- lightning
- hive
- webmonetization
example: lightning
address_destination:
description: 'Address of node to receive payment
'
type: string
example: 03ae9f91a0cb8ff43840e3c322c4c61f019d8c1c3cea15a25cfc425ac605e61a4a
items_itunesId:
description: 'List of episodes matching request
'
type: array
items:
$ref: '#/components/schemas/item_itunesId'
protocol_socialInteract:
description: "The protocol in use for interacting with the comment root post. \n\n\nFor the most up-to-date list of options, see https://github.com/Podcastindex-org/podcast-namespace/blob/main/socialprotocols.txt\n"
type: string
enum:
- disabled
- activitypub
- twitter
- lightning
example: activitypub
persons:
description: 'List of people with an interest in this episode. May not be reported.
See the [podcast namespace spec](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#person) for more information.
'
type: array
nullable: true
items:
$ref: '#/components/schemas/person'
socialInteract_item:
type: object
properties:
url:
$ref: '#/components/schemas/url_socialInteract'
protocol:
$ref: '#/components/schemas/protocol_socialInteract'
accountId:
$ref: '#/components/schemas/accountId_socialInteract'
accountUrl:
$ref: '#/components/schemas/accountUrl_socialInteract'
priority:
$ref: '#/components/schemas/priority_socialInteract'
title_feed:
description: 'Name of the feed
'
type: string
example: Batman University
accountUrl_socialInteract:
description: 'The public url (on the commenting platform) of the account that created this root post.
'
type: string
format: URL
example: https://podcastindex.social/users/dave
guid:
description: 'The unique identifier for the episode
'
type: string
example: incomparable/batman/19
model_v4v:
description: 'Description of the method for providing "Value for Value" payments
'
type: object
properties:
type:
$ref: '#/components/schemas/type_v4v'
method:
$ref: '#/components/schemas/method_v4v'
suggested:
$ref: '#/components/schemas/suggested_v4v'
soundbites:
description: 'Soundbites for episode. May not be reported.
'
type: array
nullable: true
items:
$ref: '#/components/schemas/soundbite'
liveitem_podcast:
type: object
properties:
id:
$ref: '#/components/schemas/id_episode'
title:
$ref: '#/components/schemas/title_feed'
link:
$ref: '#/components/schemas/link_feed'
description:
$ref: '#/components/schemas/description_episode'
guid:
$ref: '#/components/schemas/guid'
datePublished:
$ref: '#/components/schemas/datePublished'
datePublishedPretty:
$ref: '#/components/schemas/datePublishedPretty'
dateCrawled:
$ref: '#/components/schemas/dateCrawled'
enclosureUrl:
$ref: '#/components/schemas/enclosureUrl'
enclosureType:
$ref: '#/components/schemas/enclosureType'
enclosureLength:
$ref: '#/components/schemas/enclosureLength'
startTime:
$ref: '#/components/schemas/startTime_live'
endTime:
$ref: '#/components/schemas/endTime_live'
status:
$ref: '#/components/schemas/status_live'
contentLink:
$ref: '#/components/schemas/contentLink'
duration:
$ref: '#/components/schemas/duration'
explicit:
$ref: '#/components/schemas/explicit_episode'
episode:
$ref: '#/components/schemas/episode_number'
episodeType:
$ref: '#/components/schemas/episodeType'
season:
$ref: '#/components/schemas/season'
image:
$ref: '#/components/schemas/image_episode'
feedItunesId:
$ref: '#/components/schemas/itunesId_feed'
feedImage:
$ref: '#/components/schemas/image_feed'
feedId:
$ref: '#/components/schemas/id_feed'
feedLanguage:
$ref: '#/components/schemas/language'
feedDead:
$ref: '#/components/schemas/dead'
feedDuplicateOf:
$ref: '#/components/schemas/duplicateOf'
chaptersUrl:
$ref: '#/components/schemas/chaptersUrl'
transcriptUrl:
$ref: '#/components/schemas/transcriptUrl'
episode_object:
description: 'Episode data
'
type: object
properties:
id:
$ref: '#/components/schemas/id_episode'
title:
$ref: '#/components/schemas/title_feed'
link:
$ref: '#/components/schemas/link_feed'
description:
$ref: '#/components/schemas/description_episode'
guid:
$ref: '#/components/schem
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/podcastindex/refs/heads/main/openapi/podcastindex-episodes-api-openapi.yml