PodDrop API

Publish your podcast drops directly to PodDrop.Live. Submit episode releases, manage your schedule, and read today's lineup — all via REST.

Base URL https://poddrop.live/wp-json/poddrop/v1
Authentication

Write endpoints require an API key passed in the request header. Read endpoints are public and require no key.

Header: X-PDL-Key: your_api_key_here

Keys are scoped to a single channel. Your key can only submit or delete drops for your channel. Request a key →
Example Header
curl -X POST https://poddrop.live/wp-json/poddrop/v1/drop \
  -H "X-PDL-Key: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"channel_id":42,"title":"New Episode","drop_date":"2026-05-01"}'

Read Endpoints

Public. No API key required.

GET /today
🔓 Public

Returns today's full schedule — all channels with drops or live streams scheduled for today, sorted by time slot.

Response
JSON Response
{
  "date": "2026-04-27",
  "day": "Monday",
  "count": 24,
  "schedule": [
    {
      "channel_id": 1,
      "channel_name": "Pod Save America",
      "channel_slug": "pod-save-america",
      "time_slot": "06:00:00",
      "show_type": "drop",
      "label": "Monday Drop",
      "category": "Progressive Politics",
      "logo_url": "https://..."
    }
  ]
}
GET /channels
🔓 Public

Returns all active channels with their category, schedule, and metadata.

ParameterTypeDescription
category string Filter by category slug (e.g. progressive-politics)
Response
JSON Response
[
  {
    "id": 1,
    "name": "Pod Save America",
    "slug": "pod-save-america",
    "description": "...",
    "logo_url": "https://...",
    "website_url": "https://...",
    "youtube_handle": "@podsaveamerica",
    "category": "Progressive Politics",
    "schedule": [
      {"day": "Monday", "time": "06:00", "type": "drop"}
    ]
  }
]
GET /drops
🔓 Public

Returns recent episode drops across all channels.

ParameterTypeDescription
channel_id integer Filter to a specific channel
limit integer Max results (default 20, max 100)

Write Endpoints

Require a valid API key in the X-PDL-Key header.

POST /drop
🔑 API Key Required

Publish a new episode drop. The drop appears immediately on PodDrop.Live.

ParameterTypeDescription
channel_id* integer Your channel ID (must match your API key scope)
title* string Episode title
drop_date* string Release date in YYYY-MM-DD format
youtube_url string YouTube video URL — thumbnail auto-extracted
drop_time string Time of release in HH:MM ET (optional)
description string Episode description or show notes
thumbnail_url string Custom thumbnail URL (overrides YouTube auto-extract)
show_type string drop (default) or live
Example Request
curl -X POST https://poddrop.live/wp-json/poddrop/v1/drop \
  -H "X-PDL-Key: your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "channel_id": 42,
    "title": "Episode 212: Why Everything Is On Fire",
    "drop_date": "2026-05-01",
    "youtube_url": "https://youtube.com/watch?v=abc123xyz",
    "show_type": "drop"
  }'
Response
201 Created
{
  "success": true,
  "drop_id": 1862,
  "message": "Drop published."
}
DELETE /drop/{id}
🔑 API Key Required

Remove a drop. You can only delete drops belonging to your channel.

Example Request
curl -X DELETE https://poddrop.live/wp-json/poddrop/v1/drop/1862 \
  -H "X-PDL-Key: your_key_here"
POST /schedule
🔑 API Key Required

Set your channel's recurring weekly schedule. This replaces your existing schedule entirely.

ParameterTypeDescription
channel_id* integer Your channel ID
schedule* array Array of schedule slots (see below)
Each slot in schedule: day_of_week (0=Sun, 6=Sat), time (HH:MM ET), show_type (drop/live), label (optional display label)
Example Request
curl -X POST https://poddrop.live/wp-json/poddrop/v1/schedule \
  -H "X-PDL-Key: your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "channel_id": 42,
    "schedule": [
      {"day_of_week": 1, "time": "06:00", "show_type": "drop", "label": "Monday Drop"},
      {"day_of_week": 4, "time": "06:00", "show_type": "drop", "label": "Thursday Drop"}
    ]
  }'

Error Codes
CodeMeaning
400Missing required fields or invalid format
401Invalid or missing API key
403Key scoped to a different channel
404Drop or resource not found
503Database unavailable
Get an API Key

API keys are issued per channel. To get a key for your podcast, email us or use the form below. Keys are free — we just need to verify you own the channel.

📬 Email: api@poddrop.live

Include your podcast name, YouTube channel URL or handle, and your publishing platform (RSS feed, Buzzsprout, etc.). We'll have a key back to you within 24 hours.
Scroll to Top