DEV Community

Cover image for Count transcript tags in a podcast RSS feed
Conor Bronsdon
Conor Bronsdon

Posted on Originally published at chainofthought.show

Count transcript tags in a podcast RSS feed

Five of eight AI podcasts in a June 11, 2026 feed audit declared zero transcripts in RSS. Across the 2,148 items those feeds served, 190 carried at least one podcast:transcript tag (8.8%). An absent tag does not establish whether a transcript exists on a website, video platform, or elsewhere. If you ship a feed, or you parse one, count the tag and keep the count inside what a declaration can mean.

What does a podcast:transcript tag declare?

The Podcasting 2.0 transcript tag links to a transcript or captions file. It tells apps, directories, and crawlers where the text of an episode lives. The figures below come from a benchmark of public RSS feeds and Apple's iTunes lookup API, fetched 2026-06-11. That write-up sits with the other original-data reports on the reports page. The audit counts declarations. It does not test which answer engines consume them, whether the linked files work, or whether adding tags changes citations or search traffic.

A September 5 clarification narrows how to read the original June data. It adds no new feed observations and makes no claim about current coverage or measured search impact. Use these percentages as a snapshot.

Chain of Thought publishes a full transcript on its site for every episode, which is also why this report exists. The feed tag is a separate check from the page on the site.

How do you count tagged items in a feed?

Transcript availability in the audit is the percent of in-feed episodes carrying at least one podcast:transcript tag. Catalog depth came from Apple trackCount. In this run, every show's feed served its full archive, so feed item counts matched those catalog counts, and feed-derived metrics cover whole catalogs. Some hosts cap feeds to recent items. This run was not truncated. A re-run on other shows should check that before you treat the item count as the whole catalog.

The sketch only counts tags in XML you already have. It does not fetch a feed, and it does not open the URL on the tag. It is an illustration, not the command-line tool that produced the benchmark.

# Sketch only. Counts item-level transcript tags in RSS XML you already have.
import xml.etree.ElementTree as ET

def _is_transcript(tag: str) -> bool:
    name = tag.rsplit("}", 1)[-1]
    return name == "transcript" or name.endswith(":transcript")

def count_transcript_tags(xml_text: str) -> tuple[int, int]:
    root = ET.fromstring(xml_text)
    channel = root.find("channel")
    items = [] if channel is None else channel.findall("item")
    tagged = 0
    for item in items:
        if any(_is_transcript(child.tag) for child in list(item)):
            tagged += 1
    return tagged, len(items)
Enter fullscreen mode Exit fullscreen mode

I'd start with that pair: tagged items, then items the feed served. Percent is tagged divided by items. That is how 190 of 2,148 became 8.8%. The pooled percent weights every feed item equally, so a large catalog moves the total more than a small one.

What did the eight-show snapshot report?

The benchmark sets Chain of Thought against seven AI engineering podcasts: Latent Space, Practical AI, The TWIML AI Podcast, Gradient Dissent, AI Engineering Podcast, No Priors, and The Cognitive Revolution. Every number comes from those public feeds and the Apple lookup, collected 2026-06-11 (07:26 UTC).

Five shows declared zero transcripts: Latent Space (0 of 207), The TWIML AI Podcast (0 of 787), Gradient Dissent (0 of 137), No Priors (0 of 166), and The Cognitive Revolution (0 of 349). Chain of Thought led at 98.4% (61 of 62). Its untagged item was the trailer. AI Engineering Podcast followed at 93.7% (74 of 79). Practical AI was at 15.2% (55 of 361).

The 8.8% aggregate weights items equally. The TWIML AI Podcast accounts for 787 of the 2,148 sampled items and had no transcript declarations. Read the pooled count beside the per-show table. Neither the aggregate nor this peer set estimates adoption across all AI podcasts.

Chain of Thought and Practical AI both used Transistor feed URLs and still differed sharply. A hosting provider's name alone cannot explain that. Hosting support, configuration, and catalog history are possible explanations. They were not measured.

A feed score is also silent on episode subject. For a separate list of episodes on how AI agents get built, deployed, and evaluated, see the best AI agent podcast episodes. If you want five Latent Space episodes paired with a Chain of Thought episode on the question next door, that page is podcasts like Latent Space.

What does the percentage fail to prove?

Here, 0% means zero transcript declarations in the sampled feed. A show can publish transcripts on its website without emitting the tag, and then it reads as 0% here. The metric measures feed-declared transcripts, not every transcript that exists.

Declared transcript URLs were not validated for availability, format correctness, or transcript accuracy. Declaration coverage does not establish usable transcript coverage. A tag exposes a link to applications that support it. The audit does not establish which applications use the link or how they rank the episode.

High declaration coverage does not establish an advantage in audience reach or AI citations. Testing that relationship would require separate outcome measurements and a design that accounts for other differences between shows. The report says nothing about audience size. Download numbers stay private to each show, and the audit left them out because estimating them would make the report worthless.

This is a point-in-time snapshot of eight shows chosen as Chain of Thought's peer set. It is not a census of AI podcasts, and a different peer set would shift the rankings. Catalog counts can differ by a few episodes between sources depending on trailers and crawl timing.

Checklist

  • Count items with at least one podcast:transcript tag, then divide by items that feed served.
  • Date the fetch. These figures are from 2026-06-11, and the September 5 note adds no new feed observations.
  • Read 0% as no declaration in that feed. A website or video transcript can still exist.
  • Put the pooled 8.8% next to per-show counts. Large feeds, including TWIML's 787 items, move an equal-weighted total.
  • Stop before claiming the linked file works, that any app consumes it, or that the tag changes citations or search traffic.

More on this topic, with the related episodes, is on Chain of Thought.

Subscribe to the Chain of Thought newsletter for new episodes and write-ups like this one.

Drafted with AI assistance from the episode transcripts.

Top comments (0)