A tool to help identify duplicate podcast episodes in the Podcastindex database.
This script allows you to:
- Authenticate with the Podcastindex API
- Retrieve podcast episodes
- Identify duplicate episodes
- Export duplicate episode data for manual handling
- Python 3.6+
- Required packages (install using
pip install -r requirements.txt
):- requests
- configparser
-
Clone or download this repository
-
Install the required packages:
pip install -r requirements.txt
-
Get your API credentials from Podcastindex.org:
- Sign up at https://api.podcastindex.org/
- Create an API key and secret
The script can be run with various command-line arguments:
python podcastindex_inspector.py [options]
--feed-url URL
: Specify the URL of your podcast feed--feed-id ID
: Specify the Podcastindex feed ID (if you know it)--list
: List all episodes for the podcast--find-duplicates
: Find and display duplicate episodes--export-only
: Export episode data to a JSON file for manual handling
-
List all episodes for a podcast:
python podcastindex_inspector.py --feed-url https://example.com/feed.xml --list
-
Find duplicate episodes:
python podcastindex_inspector.py --feed-url https://example.com/feed.xml --find-duplicates
-
Export duplicate episodes to a JSON file:
python podcastindex_inspector.py --feed-url https://example.com/feed.xml --find-duplicates --export-only
The script identifies duplicate episodes based on:
- Identical titles
- Identical episode numbers
When duplicates are found, the script can export the episode data to a JSON file, which you can use to:
- Keep track of duplicate episodes
- Contact Podcastindex support with specific episode IDs
- Handle the duplicates through other means
The Podcastindex API does not currently support direct episode deletion or updates through their public API. If you need to remove or update duplicate episodes, you'll need to contact Podcastindex support with the specific episode IDs.
If you encounter authentication errors, check that your API key and secret are correct. The script stores these in a configuration file (podcastindex_config.ini
) after the first run.
The Podcastindex API may have rate limits. If you encounter rate limiting errors, wait a while before trying again.
This project is licensed under the MIT License - see the LICENSE file for details.