PodcastIndex Recent API
Find recent additions to the index
Find recent additions to the index
openapi: 3.0.2
info:
version: 1.12.1
title: PodcastIndex.org Add Recent 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: Recent
description: 'Find recent additions to the index
'
paths:
/recent/episodes:
get:
tags:
- Recent
summary: Episodes
description: 'This call returns the most recent `max` number of episodes globally across the whole index,
in reverse chronological order.
Example: https://api.podcastindex.org/api/1.0/recent/episodes?max=7&pretty
'
operationId: recent/episodes
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_episodes'
- $ref: '#/components/parameters/excludeString'
- $ref: '#/components/parameters/before'
- $ref: '#/components/parameters/fulltext'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_episodes'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/recent/feeds:
get:
tags:
- Recent
summary: Feeds
description: "This call returns the most recent `max` feeds, in reverse chronological order.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/recent/feeds?pretty\n - https://api.podcastindex.org/api/1.0/recent/feeds?max=20&cat=102,health&lang=de,ja&pretty\n"
operationId: recent/feeds
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_feeds'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/lang'
- $ref: '#/components/parameters/cat'
- $ref: '#/components/parameters/notcat'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_feeds'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/recent/newfeeds:
get:
tags:
- Recent
summary: New Feeds
description: "This call returns every new feed added to the index over the past 24 hours in reverse chronological order.\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/recent/newfeeds?pretty\n - https://api.podcastindex.org/api/1.0/recent/newfeeds?pretty&since=1613805000\n - https://api.podcastindex.org/api/1.0/recent/newfeeds?feedid=2653471&pretty\n - https://api.podcastindex.org/api/1.0/recent/newfeeds?feedid=2653471&desc&pretty\n"
operationId: recent/newfeeds
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_feeds'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/feedid_newfeeds'
- $ref: '#/components/parameters/desc'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_newfeeds'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/recent/newvaluefeeds:
get:
tags:
- Recent
summary: New Value Feeds
description: 'This call returns feeds that have added a `value` tag in reverse chronological order.
Example: https://api.podcastindex.org/api/1.0/recent/newvaluefeeds?pretty
'
operationId: recent/newvaluefeeds
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_feeds'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_newvaluefeeds'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/recent/data:
get:
tags:
- Recent
summary: Recent Data
description: "This call returns every new feed and episode added to the index over the past 24 hours in reverse chronological order.\n\n\nThis is similar to `/recent/feeds` but uses the date the feed was found by the index rather than the feed's\ninternal timestamp.\n\n\nSimilar data can also be accessed using object storage root url https://tracking.podcastindex.org/current\nFor details, see [Current](#get-/static/tracking/current).\n\n\nExamples:\n\n - https://api.podcastindex.org/api/1.0/recent/data?pretty\n - https://api.podcastindex.org/api/1.0/recent/data?pretty&max=10\n - https://api.podcastindex.org/api/1.0/recent/data?pretty&max=10&since=1671164867\n"
operationId: recent/data
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_data'
- $ref: '#/components/parameters/since'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_data'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
/recent/soundbites:
get:
tags:
- Recent
summary: Soundbites
description: 'This call returns the most recent `max` soundbites that the index has discovered.
A soundbite consists of an enclosure url, a start time and a duration.
It is documented in the [podcast namespace](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#soundbite).
Example: https://api.podcastindex.org/api/1.0/recent/soundbites?pretty
'
operationId: recent/soundbites
security:
- API-Key: []
User-Agent: []
Date: []
Authorization: []
parameters:
- $ref: '#/components/parameters/max_recent_soundbites'
- $ref: '#/components/parameters/pretty'
responses:
'200':
$ref: '#/components/responses/recent_soundbites'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
components:
schemas:
itemCount:
description: 'Number of items in the `items` returned in request
'
type: integer
example: 1
enclosureLength:
description: 'The length of the item specified by the `enclosureUrl` in bytes
'
type: integer
format: bytes
example: 26385472
max:
description: 'Value of `max` parameter passed to request.
'
type: integer
nullable: true
example: 2
description_feed:
description: 'The channel-level description
Uses the longer of the possible fields in the feed: `<description>`, `<itunes:summary>` and `<content:encoded>`
'
type: string
example: 'Batman University is a seasonal podcast about you know who. It began with an analysis of episodes of “Batman: The Animated Series” but has now expanded to cover other series, movies, and media. Your professor is Tony Sindelar.'
episodeAdded:
description: 'The time the episode was added to the index
'
type: integer
format: Unix Epoch
example: 1613786624
items_recent:
description: 'List of episodes matching request
'
type: array
items:
$ref: '#/components/schemas/item_podcast_recent'
title_feed:
description: 'Name of the feed
'
type: string
example: Batman University
position:
description: 'Position in data
'
type: integer
example: 12843054496
timeAdded:
description: 'The date and time the feed was added to the index
'
type: integer
format: Unix Epoch
example: 1613786624
items_data_obj:
type: object
properties:
episodeId:
$ref: '#/components/schemas/id_episode'
episodeTitle:
$ref: '#/components/schemas/title_feed'
episodeDescription:
$ref: '#/components/schemas/description_episode'
episodeImage:
$ref: '#/components/schemas/image_episode'
episodeTimestamp:
$ref: '#/components/schemas/datePublished'
episodeAdded:
$ref: '#/components/schemas/episodeAdded'
episodeEnclosureUrl:
$ref: '#/components/schemas/enclosureUrl'
episodeEnclosureLength:
$ref: '#/components/schemas/enclosureLength'
episodeEnclosureType:
$ref: '#/components/schemas/enclosureType'
episodeDuration:
$ref: '#/components/schemas/duration'
episodeType:
$ref: '#/components/schemas/episodeType'
feedId:
$ref: '#/components/schemas/id_feed'
newestItemPublishTime:
description: "The time the most recent episode in the feed was published.\n\n\nNote: some endpoints use `newestItemPubdate` while others use `newestItemPublishTime`. \nThey return the same information. See https://github.com/Podcastindex-org/api/issues/3 to track when the property name is updated.\n"
type: integer
format: Unix Epoch
example: 1546399813
guid:
description: 'The unique identifier for the episode
'
type: string
example: incomparable/batman/19
description_response:
description: 'Description of the response
'
type: string
example: Found matching feed
season:
description: 'Season number. May be null for `liveItem`.
'
type: integer
nullable: true
example: 3
enclosureType:
description: 'The Content-Type for the item specified by the `enclosureUrl`
'
type: string
example: audio/mp3
items_data:
description: 'List of recent episode item data
'
type: array
items:
$ref: '#/components/schemas/items_data_obj'
datePublishedPretty:
description: 'The date and time the episode was published formatted as a human readable string.
Note: uses the PodcastIndex server local time to do conversion.
'
type: string
example: January 01, 2019 9:30pm
contentHash:
description: 'Hash of the entire feed body
'
type: string
example: a652d25b56f3e2f0e069c0cc72145a85
enclosureUrl:
description: 'URL/link to the episode file
'
type: string
format: URL
example: https://www.theincomparable.com/podcast/batmanuniversity302.mp3
image_feed:
description: 'The channel-level image element.
'
type: string
format: URL
example: https://www.theincomparable.com/imgs/logos/logo-batmanuniversity-3x.jpg?cache-buster=2019-06-11
feeds_data_obj:
type: object
properties:
feedId:
$ref: '#/components/schemas/id_feed'
feedUrl:
$ref: '#/components/schemas/url_feed'
feedTitle:
$ref: '#/components/schemas/title_feed'
feedDescription:
$ref: '#/components/schemas/description_feed'
feedImage:
$ref: '#/components/schemas/image_feed'
feedLanguage:
$ref: '#/components/schemas/language'
feedItunesId:
$ref: '#/components/schemas/itunesId_feed'
status_feed:
description: 'Status of feed after being added to index
'
type: string
enum:
- unconfirmed
- confirmed
example: confirmed
trendScore:
description: 'The ranking for how the podcast is trending in the index
'
type: integer
example: 1
feeds_recent_value:
description: 'List of feeds matching request
'
type: array
items:
type: object
properties:
id:
$ref: '#/components/schemas/id_feed'
url:
$ref: '#/components/schemas/url_feed'
title:
$ref: '#/components/schemas/title_feed'
author:
$ref: '#/components/schemas/author'
image:
$ref: '#/components/schemas/image_feed'
newestItemPublishTime:
$ref: '#/components/schemas/newestItemPublishTime'
itunesId:
$ref: '#/components/schemas/itunesId_feed'
trendScore:
$ref: '#/components/schemas/trendScore'
language:
$ref: '#/components/schemas/language'
categories:
$ref: '#/components/schemas/categories'
feedCount:
description: 'Number of items in the `feeds` returned in request
'
type: integer
example: 1
duration:
description: 'The estimated length of the item specified by the `enclosureUrl` in seconds. Will be null for `liveItem`.
'
type: integer
nullable: true
format: seconds
example: 54
feeds_data:
description: 'List of recent feed data
'
type: array
items:
$ref: '#/components/schemas/feeds_data_obj'
nextSince:
description: 'Value to pass as `since` parameter to get next batch of data
'
type: integer
format: Unix Epoch
example: 1613805249
status:
description: 'Indicates API request status
'
type: string
enum:
- 'true'
- 'false'
example: 'true'
image_episode:
description: 'The item-level image for the episode
'
type: string
format: URL
example: https://www.theincomparable.com/imgs/logos/logo-batmanuniversity-3x.jpg?cache-buster=2019-06-11
link_feed:
description: 'The channel-level link in the feed
'
type: string
format: URL
example: https://www.theincomparable.com/batmanuniversity/
feeds_recent_new:
description: 'List of feeds matching request
'
type: array
items:
type: object
properties:
id:
$ref: '#/components/schemas/id_feed'
url:
$ref: '#/components/schemas/url_feed'
image:
$ref: '#/components/schemas/image_feed'
timeAdded:
$ref: '#/components/schemas/timeAdded'
status:
$ref: '#/components/schemas/status_feed'
contentHash:
$ref: '#/components/schemas/contentHash'
language:
$ref: '#/components/schemas/language'
episode_number:
description: 'Episode number
'
type: integer
nullable: true
example: 19
itunesId_feed:
description: 'The iTunes ID of this feed if there is one, and we know what it is.
'
type: integer
nullable: true
example: 1441923632
dateCrawled:
description: 'The time this episode was found in the feed
'
type: integer
format: Unix Epoch
example: 1598369047
item_podcast_recent:
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'
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'
feedTitle:
$ref: '#/components/schemas/title_feed'
feedLanguage:
$ref: '#/components/schemas/language'
since:
description: 'Value of `since` parameter passed to request.
'
type: integer
nullable: true
format: Unix Epoch
example: 1613805249
feeds_recent:
description: 'List of feeds matching request
'
type: array
items:
type: object
properties:
id:
$ref: '#/components/schemas/id_feed'
url:
$ref: '#/components/schemas/url_feed'
title:
$ref: '#/components/schemas/title_feed'
newestItemPublishTime:
$ref: '#/components/schemas/newestItemPublishTime'
oldestItemPublishTime:
$ref: '#/components/schemas/oldestItemPublishTime'
itunesId:
$ref: '#/components/schemas/itunesId_feed'
language:
$ref: '#/components/schemas/language'
categories:
$ref: '#/components/schemas/categories'
id_episode:
description: 'The internal PodcastIndex.org episode ID.
'
type: integer
example: 16795088
author:
description: 'The channel-level author element.
Usually iTunes specific, but could be from another namespace if not present.
'
type: string
example: Tony Sindelar
datePublished:
description: 'The date and time the episode was published
'
type: integer
format: Unix Epoch
example: 1546399813
title_episode:
description: 'Name of the episode
'
type: string
example: Gotham
data:
description: 'Object containing the recent data
'
type: object
properties:
position:
$ref: '#/components/schemas/position'
feeds:
$ref: '#/components/schemas/feeds_data'
items:
$ref: '#/components/schemas/items_data'
episodeType:
description: 'The type of episode. May be null for `liveItem`.
'
type: string
nullable: true
enum:
- full
- trailer
- bonus
example: full
description_episode:
description: 'The item-level description of the episode.
Uses the longer of the possible fields in the feed: `<description>`, `<itunes:summary>` and `<content:encoded>`
'
type: string
example: Batman University is back in session! James Thomson and Nathan Alderman join Tony for a discussion of Fox’s “Gotham.” Tune in to hear our thoughts on how a half-baked comic book show was reborn into an unmissable train wreck.
explicit_episode:
description: "Is feed or episode marked as explicit\n\n - 0: not marked explicit\n - 1: marked explicit\n"
type: integer
enum:
- 0
- 1
example: 0
startTime:
description: 'The time where the soundbite begins in the item specified by the `enclosureUrl`
'
type: integer
format: seconds
example: 1123
language:
description: 'The channel-level language specification of the feed.
Languages accord with the [RSS Language Spec](https://www.rssboard.org/rss-language-codes).
'
type: string
example: en-us
categories:
description: 'An array of categories, where the index is the Category ID and the value is the Category Name.
All Category numbers and names are returned by the `categories/list` endpoint.
'
type: object
example:
'104': Tv
'105': Film
'107': Reviews
items_soundbites:
description: 'List of soundbites matching request
'
type: array
items:
type: object
properties:
enclosureUrl:
$ref: '#/components/schemas/enclosureUrl'
title:
$ref: '#/components/schemas/title_soundbite'
startTime:
$ref: '#/components/schemas/startTime'
duration:
$ref: '#/components/schemas/duration_soundbite'
episodeId:
$ref: '#/components/schemas/id_episode'
episodeTitle:
$ref: '#/components/schemas/title_episode'
feedTitle:
$ref: '#/components/schemas/title_feed'
feedUrl:
$ref: '#/components/schemas/url_feed'
feedId:
$ref: '#/components/schemas/id_feed'
oldestItemPublishTime:
description: 'The date and time the oldest episode in the feed/index
'
type: integer
format: Unix Epoch
example: 1546399813
duration_soundbite:
description: 'The length to play the item specified by the `enclosureUrl`
'
type: integer
format: seconds
example: 40
title_soundbite:
description: 'Name of the soundbite
'
type: string
example: Why the Podcast Namespace Matters
count:
description: 'Number of items returned in request
'
type: integer
example: 1
id_feed:
description: 'The internal PodcastIndex.org Feed ID.
'
type: integer
example: 75075
url_feed:
description: 'Current feed URL
'
type: string
format: URL
example: https://feeds.theincomparable.com/batmanuniversity
parameters:
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_recent_data:
name: max
in: query
description: 'Maximum number of results to return (includes both `feeds` and `items`).
'
schema:
type: integer
default: 1000
minimum: 1
example: 200
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
max_recent_soundbites:
name: max
in: query
description: 'Maximum number of soundbites to return.
'
schema:
type: integer
default: 60
minimum: 1
maximum: 1000
example: 20
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
excludeString:
name: excludeString
in: query
description: 'Any item containing this string will be discarded from the result set.
This may, in certain cases, reduce your set size below your `max` value.
Matches against the `title` and URL properties.
'
schema:
type: string
example: religion
max_recent_episodes:
name: max
in: query
description: 'Maximum number of results to return.
'
schema:
type: integer
default: 10
minimum: 1
maximum: 1000
example: 7
max_recent_feeds:
name: max
in: query
description: 'Maximum number of results to return.
'
schema:
type: integer
default: 40
minimum: 1
maximum: 1000
example: 20
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
desc:
name: desc
in: query
description: 'If present, display feeds in descending order.
Only applicable when using `feedid` parameter.
Parameter shall not have a value
'
schema:
type: boolean
allowEmptyValue: true
feedid_newfeeds:
name: feedid
in: query
description: 'The PodcastIndex Feed ID to start from (or go to if `desc` specified).
If `since` parameter also specified, value of `since` is ignored.
'
required: false
schema:
type: string
example: '2653471'
before:
name: before
in: query
description: 'If you pass a PodcastIndex Episode ID, you will get recent episodes before that ID, allowing you to walk back
through the episode history sequentially.
'
schema:
type: integer
example: 1721351091
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
responses:
'400':
desc
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/podcastindex/refs/heads/main/openapi/podcastindex-recent-api-openapi.yml