---
title: Apple Podcasts Subscriptions
date: 2019-11-27T12:14:26+00:00
modified: 2019-12-04T21:27:36+00:00
image:: https://kaspars.net/wp-content/uploads/2019/11/opml-export-podcasts.png
permalink: https://kaspars.net/blog/apple-podcasts-subscriptions
post_type: post
author:
  name: Kaspars
  avatar: https://reverse.kaspars.net/gravatar/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?s=96&d=mm&r=g
post_tag:
  - Apple
  - PHP
  - Tool
category:
  - Development
---

# Apple Podcasts Subscriptions

In macOS Catalina the podcast fetcher was moved from iTunes to a dedicated Podcasts app which is now missing some of the functionality that was available in the previous version.

![OPML feed of Apple Podcasts subscriptions](https://kaspars.net/wp-content/uploads/2019/11/opml-export-podcasts.png?strip=all&quality=90&resize=1024,519)An OPML feed of podcast subscriptions.For example, the [OPML](https://en.wikipedia.org/wiki/OPML) import and export functionality is missing so I went looking for an SQLite database that Apple likes to use for this kind of storage (similar to [highlight information for Books](https://github.com/matttrent/ibooks-highlights)).

I found a [plist file](https://en.wikipedia.org/wiki/Property_list) which lists all the podcast subscriptions under:

```
~/Library/Containers/com.apple.podcasts/Data/Documents/PodcastsDB.plist
```

with the relevant parts looking like this:

```
<array>
    <dict>
        <key>feedUrl</key>
        <string>https://jasonbarnard.com/feed/podcast/</string>
        <key>title</key>
        <string>#SEOisAEO Digital Marketing Podcast - The most fun you'll ever have learning about digital from the experts</string>
        <key>uuid</key>
        <string>131C83A7-7244-4B9C-96CE-2847C84C9A06</string>
    </dict>
    <dict>
        <key>feedUrl</key>
        <string>http://feeds.soundcloud.com/users/soundcloud:users:130477445/sounds.rss</string>
        <key>storeId</key>
        <string>956912399</string>
        <key>title</key>
        <string>1 Day Business Breakthrough - Helping Entrepreneurs Discover Their Next Big Idea Today |1DayBB</string>
        <key>uuid</key>
        <string>B3D9254A-EF70-4B3E-8F10-6A811D54104D</string>
    </dict>
</array>
```

I’m still now sure how the UUID is calculated.

## Export as OPML

I created [a PHP package to create an OPML export of all your subscriptions](https://github.com/kasparsd/podcasts-tools). Here is how to use it if you have PHP and [Composer](https://getcomposer.org) installed locally:

```
composer create-project kasparsd/podcasts-tools
cd podcasts-tools
composer export > opml.xml
```

which will install the package and export the feeds to `opml.xml` in the same directory.