The Podmenti API

Everything the site does, programmatically: search podcasts, list episodes, fetch transcripts as text, JSON, SRT or VTT, with segment and word-level timestamps, and queue new episodes for transcription. One key, one credit balance, shared with the website.

Authentication

Create a key (it starts with 20 free credits), then pass it as a bearer token. The key is your account: store it safely.

curl -X POST https://podmenti.com/api/v1/keys \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'   # email optional, for receipts

# every call after that:
curl https://podmenti.com/api/v1/me \
  -H "Authorization: Bearer pm_YOUR_KEY"

Endpoints

POST /api/v1/keys Create an account key. Free, includes 20 credits.
GET /api/v1/me Balance and everything you've unlocked.
GET /api/v1/search?q= Podcast search. Shows we index continuously are flagged indexed.
GET /api/v1/shows/{feed_id}/episodes?max=100 Episodes with transcript_id and status: ready, processing or none. Up to 500.
GET /api/v1/transcripts/{transcript_id} The transcript. ?format=json (plain segments) and ?format=text are free. ?format=json&timestamps=1&words=1, srt, vtt and timestamped txt need an unlock.
POST /api/v1/unlock {"transcript": "<id>"}: 10 credits, once per transcript, then every format is yours forever.
POST /api/v1/requests Queue episodes for transcription. Free: 3 episodes, within 24 hours. With "rush": true: 25 credits per episode, front of the queue, typically within the hour, up to 25 at once. Emails you when done.

Word-level timestamps

Our transcriber stores the start time of every single word, not just every subtitle line. After unlocking, ?format=json&timestamps=1&words=1 returns them:

{
  "segments": [{
    "start": 61.4, "end": 66.9,
    "text": "And I'm Tim Houlihan. So we talk with researchers",
    "words": [
      {"w": "And", "s": 61.4}, {"w": "I'm", "s": 61.55},
      {"w": "Tim", "s": 61.72}, {"w": "Houlihan.", "s": 61.94}, …
    ]
  }, …]
}

That powers karaoke-style highlighting, precise audio deep links, clip cutting and search that jumps to the exact second. SRT and VTT exports drop straight into video editors and players.

A full example

# find the show
curl -s "https://podmenti.com/api/v1/search?q=huberman" -H "$AUTH"

# list episodes, grab a transcript_id with transcript_status "ready"
curl -s "https://podmenti.com/api/v1/shows/1365758/episodes" -H "$AUTH"

# read it free
curl -s "https://podmenti.com/api/v1/transcripts/$ID?format=text" -H "$AUTH"

# unlock once (10 credits), then take every format
curl -s -X POST https://podmenti.com/api/v1/unlock -H "$AUTH" \
  -H "Content-Type: application/json" -d '{"transcript": "'$ID'"}'
curl -sO "https://podmenti.com/api/v1/transcripts/$ID?format=srt" -H "$AUTH"

Pricing and limits

Building something bigger, need higher limits, or want an MCP connector for your AI assistant? Write to contact@podmenti.com.