5.8 KiB
🔍 Podcast Index Integration Setup
This guide explains how to set up Podcast Index API for podcast discovery and search functionality in Podcastic.
What is Podcast Index?
Podcast Index is a free, independent podcast database and API that provides:
- Podcast search functionality
- Trending podcasts
- Podcast metadata (title, author, image, description)
- Episode information
- No ads, no corporate tracking
Prerequisites
- Podcastic backend running
- Internet connection
- Free Podcast Index account
Step 1: Get API Keys
Register on Podcast Index
- Visit Podcast Index API
- Click "Sign Up" (top right)
- Create a free account with your email
- Check your email for verification link
- Confirm your email address
Generate API Keys
- Log in to your Podcast Index account
- Go to "My API Keys" section
- You'll see:
- API Key (e.g.,
abcdef123456) - API Secret (e.g.,
xyz789)
- API Key (e.g.,
- Copy both values
Step 2: Configure Environment Variables
Update .env file
# In the root Podcastic directory
nano .env # or edit with your preferred editor
Add these lines:
PODCAST_INDEX_API_KEY=your_api_key_here
PODCAST_INDEX_API_SECRET=your_api_secret_here
Example:
PODCAST_INDEX_API_KEY=abcdef123456
PODCAST_INDEX_API_SECRET=xyz789opqrst
Docker Setup
If using Docker, the environment variables will be automatically loaded from .env:
docker-compose up -d
The backend will automatically detect and use your API keys.
Step 3: Verify Setup
Test API Integration
# Start the backend (if not running)
cd backend
npm run dev
# In another terminal, test the API
curl http://localhost:5000/api/podcasts/discover?q=technology
Expected response:
{
"source": "podcastindex",
"podcasts": [
{
"id": "25566",
"title": "Example Podcast",
"rssUrl": "https://example.com/feed",
"author": "Podcast Author",
"description": "...",
"imageUrl": "...",
"episodeCount": 150
}
],
"count": 10
}
Test in Frontend
- Open http://localhost:3000/discover
- Click on the "🔍 Search Results" tab
- Type a podcast name (e.g., "technology", "news", "music")
- Results should appear from Podcast Index
Features Enabled by API
✅ Podcast Discovery
- Search by keyword
- Browse trending podcasts
- View podcast metadata
✅ Quick Subscribe
- Find podcasts directly from discover page
- One-click subscribe
- Auto-fetch episodes
Example Searches
- Popular podcasts: "Joe Rogan", "NPR", "BBC"
- Topics: "technology", "news", "business", "science"
- Specific shows: "The Daily", "Serial", "Freakonomics"
API Limits
Free Tier (Default)
- 100 requests per minute per API key
- Sufficient for small to medium users
- No additional signup needed
If You Need More
- Podcast Index offers higher rate limits for supporters
- See their pricing page for details
Fallback When API is Unavailable
If PodcastIndex API is not configured or unavailable:
- Users can still subscribe manually using RSS URLs
- Dashboard shows previously subscribed podcasts
- Graceful degradation - app still works
Troubleshooting
"API credentials not configured"
Solution: Check that both PODCAST_INDEX_API_KEY and PODCAST_INDEX_API_SECRET are set in .env
# Verify environment variables
echo $PODCAST_INDEX_API_KEY
echo $PODCAST_INDEX_API_SECRET
"Search rate limited"
Error: Search rate limited. Please try again later.
Solution:
- Wait a minute before searching again
- Rate limit resets every 60 seconds
- This is normal with free tier - switch searches if needed
"Authentication failed"
Error: PodcastIndex API authentication failed
Solution:
- Verify your API keys are correct
- Check for extra spaces/newlines in
.env - Regenerate API keys on Podcast Index website if needed
No results appear
Possible causes:
- API key not configured
- Internet connection issue
- Podcast doesn't exist in Podcast Index database
Solution:
- Try a very common podcast name first (e.g., "NPR")
- Check your internet connection
- Fall back to subscribing via RSS URL if needed
Security Notes
⚠️ Important
- Never commit
.envto git (it's in.gitignore) - Don't share your API secret publicly
- API keys are for your use only
- Regenerate keys if accidentally exposed
Using RSS URLs as Alternative
If you don't want to use Podcast Index:
-
Find podcast RSS URL:
- On the podcast's website
- Search "[Podcast Name] RSS" in Google
- Common format:
example.com/feedorexample.com/podcast/rss
-
Subscribe directly:
- Go to Dashboard
- Click Subscribe (or future manual add feature)
- Paste RSS URL
- Podcastic fetches episodes automatically
API Documentation
Full API reference: Podcast Index Documentation
Key endpoints available in Podcastic:
GET /api/podcasts/discover- Search podcastsGET /api/podcasts/trending- Get trending podcastsPOST /api/podcasts/subscribe-discovery- Subscribe from search results
Advanced: Custom Podcast Sources
To use a different podcast database:
- Implement a new service in
backend/src/services/ - Add environment variables for API credentials
- Update
podcastController.tsto use the new service - No frontend changes needed!
Example: Could integrate Apple Podcasts API, Spotify API, or self-hosted podcast database.
Support
- Podcast Index Support: https://podcastindex.org/contact
- Podcastic Issues: Create an issue on GitHub
- RSS Feed Help: See
GETTING_STARTED.mdfor manual subscription
Last Updated: 2026-04-16
Podcast Index Status: https://podcastindex.org/status