Publish your podcast drops directly to PodDrop.Live. Submit episode releases, manage your schedule, and read today's lineup — all via REST.
Write endpoints require an API key passed in the request header. Read endpoints are public and require no key.
X-PDL-Key: your_api_key_herecurl -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"}'
Public. No API key required.
Returns today's full schedule — all channels with drops or live streams scheduled for today, sorted by time slot.
{
"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://..."
}
]
}
Returns all active channels with their category, schedule, and metadata.
| Parameter | Type | Description |
|---|---|---|
| category | string | Filter by category slug (e.g. progressive-politics) |
[
{
"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"}
]
}
]
Returns recent episode drops across all channels.
| Parameter | Type | Description |
|---|---|---|
| channel_id | integer | Filter to a specific channel |
| limit | integer | Max results (default 20, max 100) |
Require a valid API key in the X-PDL-Key header.
Publish a new episode drop. The drop appears immediately on PodDrop.Live.
| Parameter | Type | Description |
|---|---|---|
| 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 |
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" }'
{
"success": true,
"drop_id": 1862,
"message": "Drop published."
}
Remove a drop. You can only delete drops belonging to your channel.
curl -X DELETE https://poddrop.live/wp-json/poddrop/v1/drop/1862 \ -H "X-PDL-Key: your_key_here"
Set your channel's recurring weekly schedule. This replaces your existing schedule entirely.
| Parameter | Type | Description |
|---|---|---|
| channel_id* | integer | Your channel ID |
| schedule* | array | Array of schedule slots (see below) |
schedule: day_of_week (0=Sun, 6=Sat), time (HH:MM ET), show_type (drop/live), label (optional display label)
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"} ] }'
| Code | Meaning |
|---|---|
| 400 | Missing required fields or invalid format |
| 401 | Invalid or missing API key |
| 403 | Key scoped to a different channel |
| 404 | Drop or resource not found |
| 503 | Database unavailable |
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.