A name badge
Philippe Yuan

How to test user-agent details for a podcast app

· By · 1.8 minutes to read

Got a podcast app? Want to check what its user agent details are?

OP3 is a free and open-source podcast prefix analytics service committed to open data and listener privacy.

OP3 gives a nice API with almost real-time logfile statistics. So, here’s a “quick” way to see into our logfiles, thanks to OP3.

https://op3.dev/api/1/hits?start=-1h&format=json&token=preview07ce&url=https://op3.dev/e,pg=9b024349-ccf0-5f69-a609-6b82873eab3c/podnews.net/audio/podnews250106.mp3

This URL will give you the latest logfile entries for the Podnews podcast (specifically, the date in the MP3 file at the end, which is YYMMDD).

We thought we’d test the Pocket Casts desktop app, to see if it correctly adds Pocket Casts to the user-agent.

We scrolled down to an old episode - in this case, Oct 15 - and played it.

Then, we visited the above URL in our browser, changing the date at the end to podnews241015.mp3 - it takes ten seconds or so to get through the OP3 system.

Below are the results: a HEAD and a GET call from the app, which marks itself as PocketCasts/2.0.8 in the userAgent, and also adds a referer. And you can see where we were at the time.

Get a proper token from OP3’s API if you’re going to do this in production, of course.

(If this isn’t another reason to join Podnews in supporting OP3 financially, we don’t know what is.)

{
    "rows": [
        {
            "time": "2025-01-06T23:26:10.212Z",
            "uuid": "3c68c38e43b54814a23a71e5534d7900",
            "hashedIpAddress": "cfb9f1a20014cc16f6c465436dbe37e1eac53449",
            "method": "HEAD",
            "url": "https://op3.dev/e,pg=9b024349-ccf0-5f69-a609-6b82873eab3c/podnews.net/audio/podnews241015.mp3",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) PocketCasts/2.0.8 Chrome/126.0.6478.185 Electron/31.3.1 Safari/537.36",
            "referer": "https://play.pocketcasts.com/",
            "edgeColo": "BNE",
            "continent": "OC",
            "country": "AU",
            "timezone": "Australia/Brisbane",
            "regionCode": "QLD",
            "region": "Queensland"
        },
        {
            "time": "2025-01-06T23:26:10.238Z",
            "uuid": "63a7ae73b71f4bfdacf3f817487baa3e",
            "hashedIpAddress": "cfb9f1a20014cc16f6c465436dbe37e1eac53449",
            "method": "GET",
            "url": "https://op3.dev/e,pg=9b024349-ccf0-5f69-a609-6b82873eab3c/podnews.net/audio/podnews241015.mp3",
            "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) PocketCasts/2.0.8 Chrome/126.0.6478.185 Electron/31.3.1 Safari/537.36",
            "referer": "https://play.pocketcasts.com/",
            "range": "bytes=0-",
            "edgeColo": "BNE",
            "continent": "OC",
            "country": "AU",
            "timezone": "Australia/Brisbane",
            "regionCode": "QLD",
            "region": "Queensland"
        }
    ],
    "count": 2,
    "queryTime": 1163
}

Readers and supporters

Gold supporters

Silver supporters

Our supporters pay for Podnews, so everyone can access. Join them today.

Get a global view on podcasting and on-demand with our daily news briefing