> ## Documentation Index
> Fetch the complete documentation index at: https://www.opendirectory.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# podcast-transcript-fetcher

> Fetch, search, and batch-transcribe transcripts from 5 top podcasts. Tier 2 (RSS+Groq Whisper) is the recommended approach -- fast, free, and the most reliab...

<Info>
  **Category:** Research · **Version:** `1.1.0` · **Author:** `farizanjum` · **Compatibility:** All targets (claude, codex, opencode, gemini, anti-gravity, openclaw, hermes)
</Info>

> Fetch, search, and batch-transcribe transcripts from 5 top podcasts. Tier 2 (RSS+Groq Whisper) is the recommended approach -- fast, free, and the most reliable. Tier 1 free sources are best-effort; Tier 3 Taddy API is the commercial/premium option.

<div className="od-badge-row">
  <a href="https://opendirectory.dev" target="_blank" rel="noreferrer">
    <img noZoom src="https://img.shields.io/badge/opendirectory-skill-blue" alt="opendirectory" />
  </a>

  <a href="https://github.com/Varnan-Tech/opendirectory" target="_blank" rel="noreferrer">
    <img noZoom src="https://img.shields.io/badge/version-1.0.0-green" alt="version" />
  </a>

  <a href="https://opensource.org/licenses/MIT" target="_blank" rel="noreferrer">
    <img noZoom src="https://img.shields.io/badge/license-MIT-orange" alt="license" />
  </a>
</div>

**Supported podcasts:** Lenny's Podcast, Dwarkesh Podcast, Cheeky Pint, 20VC (20 Minutes VC), A16z Podcast

***

## Install

<Tabs>
  <Tab title="npx CLI (Recommended)">
    ```bash theme={null}
    npx "@opendirectory.dev/skills" install podcast-transcript-fetcher --target claude
    ```
  </Tab>

  <Tab title="skills.sh">
    ```bash theme={null}
    npx skills add Varnan-Tech/opendirectory --skill podcast-transcript-fetcher
    ```
  </Tab>

  <Tab title="Claude Code Native">
    ```bash theme={null}
    /plugin marketplace add Varnan-Tech/opendirectory
    /plugin install opendirectory-gtm-skills@opendirectory-marketplace
    ```
  </Tab>

  <Tab title="Claude Desktop">
    <video controls className="w-full aspect-video rounded-xl mb-4" src="https://github.com/user-attachments/assets/cea8b565-2002-4a87-8857-d902bfcfdc1c" />

    1. Copy `https://github.com/Varnan-Tech/opendirectory/tree/main/skills/podcast-transcript-fetcher` into [download-directory.github.io](https://download-directory.github.io/) to download the ZIP.
    2. Open **Claude Desktop** -> **Customize** -> **Skills** -> **+** -> **Upload a skill** and drop the folder containing `SKILL.md`.
  </Tab>

  <Tab title="Manus AI">
    <video controls className="w-full aspect-video rounded-xl mb-4" src="https://github.com/user-attachments/assets/17cbee2a-9e17-4bd4-ac46-68e0e92ffab4" />

    [**Install podcast-transcript-fetcher in Manus AI**](https://manus.im/import-skills?githubUrl=https%3A%2F%2Fgithub.com%2FVarnan-Tech%2Fopendirectory%2Ftree%2Fmain%2Fskills%2Fpodcast-transcript-fetcher\&utm_source=opendirectory)
  </Tab>
</Tabs>

## Quick Start

```bash theme={null}
# Set up Python dependencies
pip install requests python-dotenv

# Copy and fill in your API key
cp .env.example .env
# Then edit .env with your GROQ_API_KEY

# Get the latest Lenny's Podcast transcript
python scripts/get_transcript.py "Lenny's Podcast" --latest

# Search across ALL podcasts by keyword
python scripts/get_transcript.py --search "Marc Andreessen"

# Batch-transcribe last 3 episodes
python scripts/get_transcript.py "Dwarkesh Podcast" --last 3
```

## Transcription Methods

| Method | Cost | Speed | Quality | Setup | Recommendation |
| - | - | - | - | - | - |
| Free sources | \$0 | Instant | Varies | None | Best-effort, limited availability |
| Groq Whisper (Tier 2) | Free tier | \~10s/hr audio | 2.7% WER | `pip install groq` + API key | **RECOMMENDED** |
| Local faster-whisper | \$0 (compute) | \~1.5x realtime | 2.7% WER | `pip install faster-whisper` | Offline alternative |
| Taddy API (Tier 3) | \$75/mo+ | Instant | High | `TADDY_API_KEY` | Premium / commercial |

## Prerequisites

* **Python 3.10+**
* **ffmpeg** — for audio compression (Groq's 25 MB limit)
  * Windows: `winget install ffmpeg` or `scoop install ffmpeg`
  * macOS: `brew install ffmpeg`
  * Linux: `apt install ffmpeg`
* **Groq API key** — free at [console.groq.com](https://console.groq.com)
* Works with: **Claude Code · OpenCode · Codex CLI · Gemini CLI · Cursor**

## Usage

### Single Episode

```bash theme={null}
# Get latest episode (auto-detects best method)
python scripts/get_transcript.py "Lenny's Podcast" --latest

# Specific episode by title
python scripts/get_transcript.py 20vc --episode "Sam Altman"

# Force a specific method
python scripts/get_transcript.py a16z --latest --method whisper

# Save to file
python scripts/get_transcript.py lennys --latest --output episode.md
```

### Cross-Podcast Search

```bash theme={null}
# Find episodes by keyword across all 5 podcasts
python scripts/get_transcript.py --search "regulation"

# Search by guest name
python scripts/get_transcript.py --guest "Marc Andreessen"

# Filter to one podcast
python scripts/get_transcript.py "Lenny's Podcast" --search "vibe coding"
```

### Batch Transcription

```bash theme={null}
# Transcribe last 5 episodes
python scripts/get_transcript.py "20vc" --last 5

# Search + auto-transcribe top matches
python scripts/get_transcript.py --search "AI safety" --transcribe --transcribe-count 5
```

## How It Works

```
User provides podcast + episode
      ↓
Tier 1: Free sources (best-effort, limited availability)
  → Lenny's: GitHub archive (269 transcripts)
  → Others: website scrape, Substack PDF
  → Found? Return instantly
  → Not found? Fall through to Tier 2
      ↓
Tier 2: RSS + Whisper transcription [RECOMMENDED]
  → Download MP3 from podcast RSS feed
  → Compress if >25 MB (ffmpeg)
  → Transcribe via Groq Whisper API (free tier, ~10s/hr audio)
  → Fast, free, and works for every podcast
      ↓
Tier 3: Taddy API (commercial/premium)
  → Requires TADDY_API_KEY ($75/mo+)
  → Use for large-scale or production needs
```

Search and batch features build on Tier 2:

* **Search** scans RSS metadata (titles + descriptions) across all podcasts — instant, no API key needed
* **Batch** downloads and transcribes the last N episodes in sequence
* **Pipeline** chains search results into batch transcription

## Project Structure

```
podcast-transcript-fetcher/
├── SKILL.md                ← AI instructions (the brain)
├── README.md               ← This file
├── package.json            ← Skill metadata
├── .env.example            ← Template for API keys
├── scripts/
│   ├── get_transcript.py   ← Core CLI (3-tier transcript fetcher)
│   └── podcasts.json       ← Podcast registry (RSS feeds, sources)
└── references/
    └── podcasts.md         ← Detailed source documentation
```

## Use with AI Agents

Once you have a transcript, ask your AI agent to analyze it:

> "Summarize this transcript from Lenny's Podcast"
> "Extract 3 actionable insights from this 20VC episode"
> "Compare the Dwarkesh and A16z takes on AI safety"
> "Find all episodes where they discuss \[topic]"

***

## Contributing

Want to add more podcasts? Open a PR or issue at the [OpenDirectory repo](https://github.com/Varnan-Tech/opendirectory).

To add a podcast, just add an entry to `scripts/podcasts.json` with the podcast name, RSS feed URL, available transcript sources, and a slug. See the existing entries for the format.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.