From media
Podcast analytics - downloads, listener data, Spotify/Apple metrics, growth tracking
npx claudepluginhub willsigmon/sigstack --plugin mediaThis skill is limited to using the following tools:
Understand your audience and grow your podcast.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Understand your audience and grow your podcast.
| Source | Data | Access |
|---|---|---|
| Hosting Platform | Downloads, geo, devices | API |
| Spotify for Podcasters | Streams, retention, demographics | Dashboard |
| Apple Podcasts Connect | Followers, plays, devices | Dashboard/API |
| YouTube | Views, watch time, subs | API |
| Op3 | Open analytics, prefix | Free |
# Get show analytics
curl https://api.transistor.fm/v1/analytics/shows/123 \
-H "x-api-key: YOUR_API_KEY"
# Episode analytics
curl "https://api.transistor.fm/v1/analytics/episodes/456?start_date=2026-01-01" \
-H "x-api-key: YOUR_API_KEY"
{
"data": {
"downloads": 1234,
"unique_listeners": 890,
"countries": {
"US": 450,
"UK": 120,
"CA": 80
}
}
}
FREE, open-source, privacy-focused analytics. 17M+ downloads/month tracked.
Prepend prefix to your RSS enclosure URLs:
<enclosure url="https://op3.dev/e/https://your-host.com/episode.mp3"/>
curl "https://op3.dev/api/1/shows/YOUR_SHOW_ID/downloads?start=2026-01-01"
# Spotify doesn't have public API for podcasters
# Use dashboard exports or third-party tools
# Chartable, Podtrac for cross-platform analytics
import requests
# Apple Podcasts Connect API (requires JWT auth)
# See: https://developer.apple.com/documentation/appstoreconnectapi
headers = {"Authorization": f"Bearer {jwt_token}"}
response = requests.get(
"https://api.appstoreconnect.apple.com/v1/analyticsReportRequests",
headers=headers
)
from dataclasses import dataclass
from datetime import date
@dataclass
class PodcastMetrics:
date: date
downloads: int
unique_listeners: int
avg_completion: float
top_countries: dict
async def aggregate_metrics(show_id: str, start: date, end: date):
# Fetch from multiple sources
transistor = await fetch_transistor(show_id, start, end)
op3 = await fetch_op3(show_id, start, end)
return PodcastMetrics(
date=end,
downloads=transistor.downloads + op3.downloads,
unique_listeners=transistor.unique_listeners,
avg_completion=transistor.avg_completion,
top_countries=transistor.countries
)
Analyze completion rates by episode length.
If 60min episodes have 40% completion but 30min have 70%,
consider shorter episodes.
Track downloads by day of week and time.
Optimize release schedule for your audience's habits.
Compare episode metrics to topics.
What topics drive the highest engagement?
Use when: Podcast growth, audience analysis, content optimization, multi-platform tracking