Exporting podcasts from iOS app as OPML I have finally decided to switch from the Apple Podcast app to Overcast, but I cannot find a way to move my subscriptions. A (similar question) was asked a while ago, but iTunes has changed since then, and the new MacOS app doesn't have those menus. So, I was wondering if anyone knows another way to get an OPML file.
The Podcasts app appears to store its data inside a sqlite database. Using the information inside we can create an OPML file that Overcast (or any good podcast app) will accept.

Here's a script that I made that will create the OPML file:

#!/bin/bash

sql() {
    sqlite3 "${HOME}/Library/Group Containers/"*.groups.com.apple.podcasts/Documents/MTLibrary.sqlite "select ${1} from ZMTPODCAST ${2:+"where ${2} = '${3}'"};" |\
        sed -e 's/&amp;/\&amp;amp;/g' \
            -e 's/&lt;/\&amp;lt;/g' \
            -e 's/&gt;/\&amp;lgt;/g' \
            -e "s/'/\&amp;apos;/g"
}

opml_export=${HOME}/Desktop/podcasts.opml
cat &gt; ${opml_export} &lt;&lt; HEAD
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;opml version="1.0"&gt;
  &lt;head&gt;&lt;title&gt;Podcast Subscriptions&lt;/title&gt;&lt;/head&gt;
  &lt;body&gt;
    &lt;outline text="feeds"&gt;
HEAD

sql ZUUID | while read -r uuid ; do
    feed_url=$(sql ZFEEDURL ZUUID "${uuid}")
    home_url=$(sql ZWEBPAGEURL ZUUID "${uuid}")
    title=$(sql ZTITLE ZUUID "${uuid}")
    cat &lt;&lt;EOT
&lt;outline type="rss" text="${title}" title="${title}" xmlUrl="${feed_url}" htmlUrl="${home_url}" /&gt;
EOT
done &gt;&gt; ${opml_export}

cat &gt;&gt; ${opml_export} &lt;&lt; TAIL
    &lt;/outline&gt;
  &lt;/body&gt;
&lt;/opml&gt;
TAIL


This will create podcasts.opml on your desktop.