Disclosure up front: I’m the creator of both PortCast and Trimplayer (an AntennaPod fork), so I have a stake in this. I’m posting because the topic feels genuinely relevant here and I’d value the community’s honest take
One thing I’ve been thinking about a lot is how portable our podcast listening history really is. When switching between podcast apps, things like play position, played/unplayed status, subscriptions, and overall listening stats often don’t come along. OPML rescues your subscriptions and nothing else, and per-app exports all ship in different, mostly-private formats.
This is what led me to build PortCast (https://portcast.org): an open JSON protocol (currently a v0.2.0 draft) aimed at exactly this gap. It’s a single, vendor-neutral file that captures not just subscriptions but episode state (unplayed/in-progress/completed/archived plus play position), playback events, queue order, bookmarks/clips, and per-feed preferences. It matches podcasts by the podcast:guid standard with a feedUrl fallback, requires no central server or account, and is published openly (spec under CC BY 4.0, reference code under MIT on GitHub). There’s also a reference Python implementation with an OPML to PortCast bridge.
One objection I expect: “why not just use the Open Podcast API?” That’s fair, and I don’t see PortCast as a competitor to it. The Open Podcast API is a sync protocol, designed for apps talking to a live server to keep state in sync across devices. PortCast is a portability format, a self-contained file you own and can move anywhere, with no server or account required, even between apps that don’t share a sync backend. I think the two are complementary: sync for day-to-day, a portable file for migration, backup, and exit. I’d genuinely welcome pushback on that framing.
If there’s interest, I’d be happy to contribute the integration to AntennaPod directly, for example import/export support for the format, building on the existing OPML and database backup code rather than reinventing it. I’d want to discuss the approach with maintainers first and keep it small and optional, but the offer is on the table.
So, curious what others think: How well does AntennaPod’s OPML export and database backup preserve listening history today? Would a neutral, listener-owned format like PortCast be worth supporting? And is there appetite for a more universal approach to moving listening data between apps without losing history? Happy to answer any questions about the spec.