How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

PodcastIndex Podcasts API

Find details about a Podcast and its feed.

PodcastIndex Podcasts API is one of 11 APIs that PodcastIndex publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Podcasts. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 9 operations across 9 paths, and defines 87 schemas. It is described by OpenAPI 3.2.0, at version 1.12.1.

Requests are made against a single base URL, https://api.podcastindex.org/api/1.0.

9 operations 9 paths 87 schemas 8 GET1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.12.1
Base URL
https://api.podcastindex.org/api/1.0
Authentication
API Key, API Key, API Key, API Key
License
Terms of Service
Resource Areas
1

Authentication & Security 4

PodcastIndex Podcasts API declares 4 security schemes for authenticating requests. An API key is passed in the header as User-Agent (User-Agent). An API key is passed in the header as X-Auth-Key (API-Key). An API key is passed in the header as X-Auth-Date (Date). An API key is passed in the header as Authorization (Authorization).

  • User-Agent — Please identify the system/product you are using to make this request. Example: SuperPodcastPlayer/1.3
  • API-Key — Your API key string Example: UXKCGDSYGUUEVQJSYDZH
  • Date — The current UTC unix epoch time as a string. 3 minute window. This value is an integer; round down if needed. The value shall not include a decimal point. Valu…
  • Authorization — A SHA-1 hash of the X-Auth-Key, the corresponding secret and the X-Auth-Date value concatenated as a string. The resulting hash should be encoded as a hexadeci…

Paths & Operations 9

Across 9 paths, the API surfaces 9 operations — 8 GET, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Podcasts 9

Find details about a Podcast and its feed.

GET
/podcasts/byfeedid
By Feed ID
podcasts/byfeedid 2 params → 200400401
GET
/podcasts/byfeedurl
By Feed URL
podcasts/byfeedurl 2 params → 200400401
GET
/podcasts/byitunesid
By iTunes ID
podcasts/byitunesid 2 params → 200400401
GET
/podcasts/byguid
By GUID
podcasts/byguid 2 params → 200400401
GET
/podcasts/bytag
By Tag
podcasts/bytag 5 params → 200400401
GET
/podcasts/bymedium
By Medium
podcasts/bymedium 3 params → 200400401
GET
/podcasts/trending
Trending
podcasts/trending 6 params → 200400401
GET
/podcasts/dead
Dead
podcasts/dead 1 param → 200400401
POST
/podcasts/batch/byguid
Batch By Feed GUID
podcasts/batch/byguid 1 param body → 200400401

Schemas 87

The contract defines 87 schemas that model the data the API accepts and returns. The most detailed are feed_podcast_batch (35 properties), feed_podcast (34 properties), feed_bytag (31 properties), feed_search (31 properties). Each schema is shown below with its type and property counts.

description_response
string
Description of the response
suggested_v4v
stringnull
Suggested amount per second of playback to send. Unit is specific to the type.
author
string
The channel-level author element. Usually iTunes specific, but could be from another namespace if not present.
lastGoodHttpStatusTime
integer
Timestamp of the last time we got a "good", meaning non-4xx/non-5xx, status code when pulling this feed from its url.
value
objectnull
Information for supporting the podcast via one of the "Value for Value" methods. May not be reported. Examples: - lightning value type: https://api.podcastinde…
2 properties
generator
string
The channel-level generator element if there is one.
itunesId_feed
integernull
The iTunes ID of this feed if there is one, and we know what it is.
title_feed
string
Name of the feed
since
integernull
Value of since parameter passed to request.
model_v4v
object
Description of the method for providing "Value for Value" payments
3 properties
dead
integer
At some point, we give up trying to process a feed and mark it as dead. This is usually after 1000 errors without a successful pull/parse cycle. Once the feed…
newestItemPublishTime
integer
The time the most recent episode in the feed was published. Note: some endpoints use newestItemPubdate while others use newestItemPublishTime. They return the…
valueCreatedOn
integer
The time this feed's value data added. Will be 0 if no value data.
itunesType
string
The type as specified by the itunes:type in the feed XML.
language
string
The channel-level language specification of the feed. Languages accord with the [RSS Language Spec](https://www.rssboard.org/rss-language-codes).
found
integer
Number of value data returned.
lastCrawlTime
integer
The last time we attempted to pull this feed from its url.
fee_destination
booleannull
Indicates if destination is included due to a fee being charged. May not be reported.
feed_itunes
object
Known details of podcast feed
28 properties
url_funding
stringnull
URL to site to fund the podcast See the [podcast namespace spec](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.mdfunding) for more i…
podcastguid
string
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…
categories
object
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/li…
destination_v4v
object
Destination for "Value for Value" payment.
7 properties
parseErrors
integer
The number of errors we’ve encountered trying to parse the feed content. Errors here are things like not well-formed xml, bad character encoding, etc. We fix m…
nextStartAt
integer
Feed ID to pass to next startat to get next batch of feeds Only returned when startat passed to request
type_v4v
string
Payment type
valueBlock
string
Information for supporting the podcast via one of the "Value for Value" methods. May not be reported. Value is a string of JSON data representing the feed valu…
lastHttpStatus
integer
The last http status code we got when pulling this feed from its url. You will see some made up status codes sometimes. These are what we use to track state wi…
imageUrlHash
integer
A CRC32 hash of the image URL with the protocol (http://, https://) removed. 64bit integer.
lastUpdateTime
integer
The channel-level pubDate for the feed, if it’s sane. If not, this is a heuristic value, arrived at by analyzing other parts of the feed, like item-level pubDa…
type_destination
string
Type of destination
duplicateOf
integernull
The internal PodcastIndex.org Feed ID this feed duplicates. May be null except in podcasts/dead.
chash
string
The md5 hash of the following feed items in hex format. - title - link - feedLanguage - generator - author - ownerName - ownerEmail (note: not exposed via the…
feed_podcast
object
Known details of podcast feed
34 properties
funding
objectnull
Information for donation/funding the podcast. May not be reported. See the [podcast namespace spec](https://github.com/Podcastindex-org/podcast-namespace/blob/…
2 properties
customValue
stringnull
A custom value to pass along with the payment. This is considered the value that belongs to the customKey. May not be reported. See the [podcast namespace spec…
message
string
Description of url See the [podcast namespace spec](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.mdfunding) for more information.
feeds_trending
array
List of feeds matching request
feed_bytag
object
31 properties
feeds_batch
array
List of feeds with matching GUID
inPollingQueue
integernull
Indicates if feed is currently scheduled to be polled/checked for new episodes.
destinations_v4v
array
List of destinations where "Value for Value" payments should be sent.
locked
integer
Tell other podcast platforms whether they are allowed to import this feed. A value of 1 means that any attempt to import this feed into a new platform should b…
priority
integer
How often the feed is checked for updates and new episodes A value of -1 means never check. A value of 5 means check the most.
split_destination
integer
Share of payment the destination should receive
originalUrl
string
The URL of the feed, before it changed to the current url value.
trendScore
integer
The ranking for how the podcast is trending in the index
feeds
array
List of feeds matching request
type
integer
Type of source feed where: - 0: RSS - 1: Atom
address_destination
string
Address of node to receive payment
total
integer
Total number of feeds returnable by endpoint
medium_feed
string
The value of the podcast:medium attribute for the feed. See the [medium](https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.mdmedium) des…
method_v4v
string
Method for sending payment
url_query
string
Value passed to request in the url field
feed_podcast_batch
object
Known details of podcast feed
35 properties
feed_dead
object
4 properties
artwork
string
The seemingly best artwork we can find for the feed. Might be the same as image in most instances.
query_id
object
Object containing the input query data
1 property
lastParseTime
integer
The last time we tried to parse the downloaded feed content.
crawlErrors
integer
The number of errors we’ve encountered trying to pull a copy of the feed. Errors are things like a 500 or 404 response, a server timeout, bad encoding, etc.
query_url
object
Object containing the input query data
1 property
allfound
boolean
Indicates if data was found for all podcastguid and episodeguid values.
count
integer
Number of items returned in request
feeds_bytag
array
List of feeds matching request
feed_search
object
31 properties
podcastGuid_query
string
Value passed to request in the guid field The GUID from the podcast:guid tag in the feed. This value is a unique, global identifier for the podcast. See the na…
ownerName
string
The channel-level owner:name element. Usually iTunes specific, but could be from another namespace if not present.
explicit_feed
boolean
Is feed marked as explicit
episodeCount
integer
Number of episodes for this feed known to the index.
max
integernull
Value of max parameter passed to request.
contentType
string
The Content-Type header from the last time we pulled this feed from its url.
status
string
Indicates API request status
medium
string
Value of medium parameter used in request
description_feed
string
The channel-level description Uses the longer of the possible fields in the feed: , and
feed_trending
object
12 properties
feeds_dead
array
List of feeds matching request
id_query
string
Value passed to request in the id field
id_guid_query
string
The Podcast Index feed ID for the feed specified by the guid field passed to the request
name_destination
string
Name for the destination
customKey
stringnull
The name of a custom record key to send along with the payment. May not be reported. See the [podcast namespace spec](https://github.com/Podcastindex-org/podca…
link_feed
string
The channel-level link in the feed
image_feed
string
The channel-level image element.
createdOn
integer
The first time the feed was seen by Podcast Index
query_guid
object
Object containing the input query data
2 properties
url_feed
string
Current feed URL
id_feed
integer
The internal PodcastIndex.org Feed ID.
podcasts_batch_byguid
array
JSON array of feed GUIDs

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

podcastindex-podcasts-api-openapi.yml Raw ↑

Other APIs PodcastIndex publishes across the network.

PodcastIndex Add API
PodcastIndex Apple Replacement API
PodcastIndex Categories API
PodcastIndex Episodes API
PodcastIndex Hub API
PodcastIndex Recent API
PodcastIndex Search API
PodcastIndex Static Data API
PodcastIndex Stats API
PodcastIndex Value API
Where this information came from

This is an independent, third-party profile of PodcastIndex Podcasts API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.