The Audacity to Podcast

Who Offers the Fastest Podcast Hosting? – TAP335

Play
Play
Share!

Share this Podcast

MyCast

MyCast

MyCast Subscription

The Audacity to Podcast

Daniel J. Lewis | D.Joseph Design

Cincinnati, OH

Description: Giving you the guts and teaching you the tools to podcast with passion, organization, and dialog (POD).

Most Recent Post

Who Offers the Fastest Podcast Hosting? – TAP335

Play Download media

Podcast media (whether audio or video) must live somewhere on the Internet so it can be downloaded via RSS feeds. This hosting needs to be powerful enough to deliver the media files quickly and handle the load of hundreds or thousands of simultaneous downloads when new episodes are released. Here are the performance results from the most popular podcast hosting companies.

Does podcast hosting speed even matter?

The short answer is yes, but only to a point.

I started this project curious about feed-hosting performance between separate web hosting providers (shared, managed, and VPS), different caching options, and mirroring tools (FeedBurner and Podcast Mirror). Aside from two specific exceptions (more on that below), feed performance from numerous providers was acceptably fast. While one host might be faster than another, it was faster by less than a second on feeds that were already loading in under 1 second.

So as long as a feed loads within 1 or 2 seconds, exact speeds become a moot point. If, however, a feed takes several seconds or longer to load, that increases the possibility of timeouts, which can result in a podcast app’s failure to refresh podcast RSS feeds to even see what new episodes are available to download. I’ve seen this happen before where one podcast app could download all the episode, but another app wouldn’t refresh the feed.

And then, I realized my test could be easily adapted to measure and compare file-hosting speeds. So I turned my attention to media files, which were easier to compare and possibly more important to measure.

But as with feeds, media hosting across most of the providers was fast enough that it wouldn’t cause any noticeable difference.

A feed and media host is fast enough when someone can press a button and start listening with little to no delay.

(Podcasters can make the mistake of attaching large images to ID3 tags, which can cause playback delays because the ID3 information must download before audio data.)

It’s also important to remember most podcast apps will check feeds and download new episodes automatically in the background. So even if it took five minutes for an episode to download, most of the audience might not be affected because the episode will be there waiting for them when they open their podcast app.

This audience-helping benefit is a big reason we need to keep downloading possible in podcasting, instead of catering to money-focused advertisers who want to kill the download and switch to streaming. But that’s a different discussion.

Testing methodology

You’re free to skip this part if you don’t want the technical details.

I wrote a program in Node to measure the time it takes to download a feed or media file from a given URL. I included options to test feeds with Gzip compression or HTTP/2. You can view my Podcast Speed Test source code and try it on your own computer or server.

Each feed or media URL was tested 10 consecutive times and then combined into average and median results. If there was a significantly different average from median, I would re-run the test, except in the case of Podiant. Every first one or two tests of Podiant resulted in very slow download times. I suspect Podiant doesn’t propagate a media file to local servers until it is first requested from that location, and thus the first download is slow. Because this was predictable and repeatable, I left the data in (reflected on averages) and I think it’s concerning for that poor first soul who must download from their local server more slowly than the next person.

Using Vultr as my VPS provider, I tested from sixteen regions:

  • Atlanta, Georgia, USA
  • New York/New Jersey, USA
  • Chicago, Illinois, USA
  • Dallas, Texas, USA
  • Los Angeles, California, USA
  • Miami, Florida, USA
  • Seattle, Washington, USA
  • Silicon Valley, California, USA
  • Toronto, Ontario, Canada
  • Amsterdam, the Netherlands
  • Paris, Italy, France
  • Frankfurt, Germany
  • London, England, United Kingdom
  • Tokyo, Japan
  • Singapore
  • Sydney, New South Wales, Australia

Each region has a high-speed network connection of multiple gigabits per second.

Feed testing specifics

Podcast RSS feeds can be difficult to test and compare because each feed-generator (WordPress with PowerPress, Libsyn, Buzzsprout, Spreaker, etc.) may do things differently. And it wasn’t reasonable to try replicating a complete RSS feed across every tool. Some tools may include extra tags for every episode, while other tools omit such tags. Some tools may truncate the show notes, while other tools publish full show notes.

Instead, my method was to find a small feed (100–250 KB) and a large feed (2 MB or more) from each generator, mirror those feeds to a benchmark host, and then compare the performance against that consistent benchmark. I chose FeedBurner and Podcast Mirror, but FeedBurner can’t handle feeds larger than 1 MB, so I used it for only small and medium feeds. A third option I could have used would have been to copy the RSS feed code to my own server, but I stuck with Podcast Mirror because it’s something anyone can use. This kind of mirroring resulted in only a 1–2 KB difference in feed size, but gave me a relative standard. After 10 consecutive tests, a sample feed’s median result would be ranked based on its performance factor compared to the feed on Podcast Mirror as the benchmark. Thus, each feed would be above or below 1.0 compared to the Podcast Mirror benchmark.

Media testing specifics

Media hosting was much easier to test than feed hosted. I used the 1-hour MP3 from episode 229 of The Audacity to Podcast. That file was 44.1 KHz, mono, 16-bit, 64 kbps, giving me a 27.5 MB file. I uploaded that to every media host I reasonably could, and ran the same download tests.

Unfortunately, some media hosts re-encoded my file, changing the file size, and thus making the measurements a little unfair, but I included them nonetheless and indicate the file sizes in the charts.

Try your own tests!

If you’re comfortable installing and running Node from a command line, you can download my Podcast Speed Test source code to run on your own computer or server. Use at your own risk, and some of my sample tests may be removed or broken by the time you test.

Feed performance results

Because of the complicated nature of testing feeds (described above), I didn’t run as many tests, because I realized it was mostly a moot point with nearly every feed provider loading feeds (which are usually smaller than 1 MB) in a fraction of a second. So for the sake of brevity, I’ll omit all that data for now.

But there were two important exceptions.

SoundCloud feeds were consistently the slowest, taking seconds to load a small feed, and longer to load larger feeds. Because of this, I recommend never using a SoundCloud RSS feed. If you must use SoundCloud for podcast hosting (they’re a really bad podcast-hosting provider), mirror your feed through Blubrry’s free Podcast Mirror service or even use FeedBurner (but I still don’t recommend FeedBurner’s features, like SmartCast).

Uncached feeds were as bad as SoundCloud. Sometimes slower, sometimes faster. Such feeds were usually powered by WordPress or another content-management system. But all it took to fix that performance was simple caching. With caching, it’s important to check that the podcast feed is being cached with whatever caching option you’re using. For example, caching plugins like WP Rocket and WP Super Cache allow custom inclusions and exclusions, usually defaulting to include the RSS feeds. But other caching plugins might not offer such options, or might not refresh all the caches when you publish a new episode, or might exclude the RSS feeds altogether (SpinupWP’s page caching excluded the feeds, but Liquid Web and Flywheel included the feeds).

So the takeaways here are:

  1. Don’t use Soundcloud (for hosting your feed, or if you do, then use Podcast Mirror).
  2. If you generate your feed with WordPress, implement proper caching or use Podcast Mirror.
  3. Any poorly performing feed could be improved by switching to Podcast Mirror.
Podcast media performance results

For hosting my sample MP3 file, I tested:

*Not a podcast-hosting provider.

I could not get test accounts with Art19 or Megaphone.

Please note that some of these hosts re-encoded my MP3 file without my option to change it, always resulting in a bigger file than I uploaded. One exception is Buzzsprout who re-encodes only down, but never up. So my 64 kbps mono file was not re-encoded up to 96 kbps mono on Buzzsprout like it was re-encoded up to various rates with the other indicated hosts.

For disclosure, some of the paid-for hosting options were provided by the respective companies at no cost to me for the sake of my testing and review. I also invited any hosting company to preview this article before publication, which often opened a beneficial dialog, but did not affect the data.

If you represent a podcast-hosting company I didn’t include and you want to see your service tested and listed here, please contact me!

Combined global averages and medians

First, let’s look at the combined global timings for each hosting company. Each test was performed 10 consecutive times and those results combined to calculate regional and global averages and medians. Where the average and median greatly differ illustrates potential slowness in a host.

if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[9] = {render_data: {"options":{"data":{"labels":["Amazon S3*","Anchor (Cloudfront)","Archive.org*","Audioboom (55.6 MB)","Blubrry","Bunny CDN*","Buzzsprout","Captivate","Castos","Fireside","iVoox","Libsyn","Omny Studio","Pinecast","Pippa","Podbean Unlimited Audio","Podbean Unlimited Plus","Podbean Business Basic","Podcast.co","Podiant (41.2 MB)","Podigee (35.7 MB)","Podmio (S3)","podOmatic (41.37 MB)","Podserve.fm","RedCircle (55.1 MB)","Simplecast","SiteGround*","SoundCloud","Spreaker","Transistor","Whooshka (55.1 MB)","Zencast"],"datasets":[{"label":"Global Average of Averages","orig_header":"Global Average of Averages","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[2298.625,402.125,2589.6875,1188.9375,2139.125,685.875,362.5625,517.5,365.1875,251.6875,1613.6875,402.25,1310,621.625,345.875,21612.0625,24667.8125,345.5,451,3036.3125,5194.75,2115.6875,21447,1043.875,3415.125,991.4375,10127.5625,422.9375,2414.3125,380.5625,1001.625,2951.875],"lineTension":0},{"label":"Global Median of Medians","orig_header":"Global Median of Medians","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[1490,131.25,2462.5,318.75,102.25,151.25,225.25,188.75,157.75,179.25,1033.75,92.25,333.5,227.75,187.5,7596,9036.5,122,173,251.75,2888.25,1450.5,3256.75,202.75,2496.75,187,3688,145.25,2342.5,198.5,212.25,2491.75],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":""},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Global podcast media hosting speeds (unfiltered)","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":true,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"600","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Global podcast media hosting speeds (unfiltered)", container: "wpDataChart_9", follow_filtering: 0, wpdatatable_id: 8, group_chart: 0} About Podbean and podOmatic

Whoa there, Podbean and podOmatic! Those two were the slowest hosts. Podbeans Unlimited Audio and Unlimited Plus plans are designed with lower performance to be more budget-friendly, while the Business Basic plan performs on par with competitors.

This slower performance may seem horrible, but remember this is a 60-minute MP3 that downloaded completely in a global combined median under 10 seconds. That’s about 6 minutes of audio downloaded in only 1 second. Even if the MP3 was encoded at higher bitrates, it’s still fast enough that most podcast consumers would not notice a difference. Nonetheless, if you have a large audience or your business depends on your podcast, it’s worth investing in a faster hosting option.

podOmatic didn’t appear to have a free trial for their premium plans, so I wasn’t able to test for differing performance.

If you host with Podbean’s Unlimited Audio and do not use their RSS feed for your podcast, I suggest updating your download URLs to the new mcdn.podbean.com URLs, which nearly double the previous performance, as shown in the following chart.

if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[14] = {render_data: {"options":{"data":{"labels":["Old Podbean Unlimited Audio","Old Podbean Unlimited Plus","Old Podbean Business Basic","New Podbean Unlimited Audio","New Podbean Unlimited Plus","New Podbean Business Basic"],"datasets":[{"label":"Global Average","orig_header":"Global Average of Averages","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[50693.75,6988.8125,402.3125,21612.0625,24667.8125,345.5],"lineTension":0},{"label":"Global Median","orig_header":"Global Median of Medians","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[35116.25,2408.75,134,7596,9036.5,122],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":""},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Podbean old vs. new URL speeds","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":true,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"600","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Podbean old vs. new URL speeds", container: "wpDataChart_14", follow_filtering: 0, wpdatatable_id: 9, group_chart: 0}

(This CDN change is automatic for customers using the Podbean RSS feed.)

Regional medians

Get ready for data overload! Here are the median results from all 16 test locations. Click on items in the legend to hide that date from the chart and make other data more visible. (I’ll embed the full data table at the end of this article.) To make the charts more visible, I split the slowest hosts into their own chart.

if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[12] = {render_data: {"options":{"data":{"labels":["Amazon S3*","Anchor (Cloudfront)","Archive.org*","Audioboom (55.6 MB)","Blubrry","Bunny CDN*","Buzzsprout","Captivate","Castos","Fireside","iVoox","Libsyn","Omny Studio","Pinecast","Pippa","Podbean Business Basic","Podcast.co","Podiant (41.2 MB)","Podmio (S3)","Podserve.fm","RedCircle (55.1 MB)","Simplecast","SoundCloud","Spreaker","Transistor","Whooshka (55.1 MB)","Zencast"],"datasets":[{"label":"NY\/NJ","orig_header":"NY\/NJ Median","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[345,149,2559,282,71,118.5,299,196.5,150,240.5,90.5,106.5,265.5,228,189.5,149,181,219,363,97,1760,147,143.5,1290,247,239,2046.5],"lineTension":0},{"label":"Chicago","orig_header":"Chicago Median","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[536,236,1379.5,360,61.5,111.5,347.5,118,116,262.5,991,80,367,224.5,278,140,283,171,531.5,376,1124.5,184.5,230.5,1845.5,350,271.5,2399],"lineTension":0},{"label":"Dallas","orig_header":"Dallas Median","backgroundColor":"rgba(255,206,86,0.2)","borderColor":"#ffce56","borderWidth":1,"data":[699,164.5,988.5,355.5,80.5,235,281.5,130,226.5,242,437.5,95,345,319,309.5,135,252,230.5,816,77.5,1161.5,149,156.5,5050,234,242,2617.5],"lineTension":0},{"label":"LA","orig_header":"Los Angeles Median","backgroundColor":"rgba(75,192,192,0.2)","borderColor":"#4bc0c0","borderWidth":1,"data":[1151,102,360,222.5,96.5,143,237,239,174,179.5,1222,129.5,223.5,198.5,194.5,83,211,96,1195.5,76.5,2206,93,121,2308.5,209,164,3167.5],"lineTension":0},{"label":"Silicon Valley","orig_header":"Silicon Valley Median","backgroundColor":"rgba(153,102,255,0.2)","borderColor":"#9966ff","borderWidth":1,"data":[1421.5,136,404,151.5,56.5,298,252,266.5,400.5,152.5,1134,125,151,210,193.5,79,164,325.5,1427.5,196,5095.5,100.5,147,2376.5,162,169.5,3449.5],"lineTension":0},{"label":"Atlanta","orig_header":"Atlanta Median","backgroundColor":"rgba(255,159,64,0.2)","borderColor":"#ff9f40","borderWidth":1,"data":[479.5,896,2366,1062,128,188,342.5,198,161,219,241,138,1209.5,386,249,120,455,392,530,505.5,1995.5,189.5,375,2531,242.5,281.5,2514.5],"lineTension":0},{"label":"Miami","orig_header":"Miami Median","backgroundColor":"rgba(166,206,227,0.2)","borderColor":"#a6cee3","borderWidth":1,"data":[559,174.5,2214,410.5,68,175.5,501,181,147.5,198,603.5,64.5,443,274,174.5,109,115,544,589.5,697.5,1287,205.5,180.5,1553.5,172.5,281,2469],"lineTension":0},{"label":"Seattle","orig_header":"Seattle Median","backgroundColor":"rgba(106,61,154,0.2)","borderColor":"#6a3d9a","borderWidth":1,"data":[1558.5,114.5,556.5,248.5,400.5,349.5,209.5,452,258,227,1722.5,394,322,284.5,153,119,151,83.5,1473.5,668,1886.5,568.5,545.5,3585,216,164.5,3811.5],"lineTension":0},{"label":"Toronto","orig_header":"Toronto Median","backgroundColor":"rgba(177,89,40,0.2)","borderColor":"#b15928","borderWidth":1,"data":[598.5,466,2022,686,255,970.5,175.5,147,139.5,187.5,518,63,1209,183,160,491,136,273,637.5,209.5,1308,813,459.5,2376.5,220.5,1605.5,1982],"lineTension":0},{"label":"Amsterdam","orig_header":"Amsterdam Median","backgroundColor":"rgba(251,154,153,0.2)","borderColor":"#fb9a99","borderWidth":1,"data":[2125,126.5,3127.5,244.5,68.5,145.5,156.5,101,154.5,151.5,575.5,81.5,231,941.5,180,163,125,131,1838,168.5,2886,206,116.5,999.5,120.5,487.5,398],"lineTension":0},{"label":"Paris","orig_header":"Paris Median","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[1774.5,75,3489,135.5,189,95.5,159.5,270,207.5,179,2074.5,193.5,129,296.5,114.5,216,243,488,1677,83,2879,106.5,77,381,188,165.5,396],"lineTension":0},{"label":"Frankfurt","orig_header":"Frankfurt Median","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[2012,68,3981.5,128.5,108,103,127,130.5,145,162.5,2149.5,73.5,135,207.5,199,176,185,112,1900.5,164.5,3205,133.5,71.5,442,155,166.5,433],"lineTension":0},{"label":"London","orig_header":"London Median","backgroundColor":"rgba(255,206,86,0.2)","borderColor":"#ffce56","borderWidth":1,"data":[1614.5,151.5,2747.5,253.5,78.5,157,213.5,221.5,170.5,130,1736.5,83.5,243,227.5,178.5,124,138,114,1551,171.5,2787.5,141.5,154.5,391,185,190,502],"lineTension":0},{"label":"Tokyo","orig_header":"Tokyo Median","backgroundColor":"rgba(75,192,192,0.2)","borderColor":"#4bc0c0","borderWidth":1,"data":[3752,82,2607,2503.5,1882.5,106,206.5,150.5,147,164.5,1076.5,75,2476,197,177,73,106,575,3447,2126,4188,1646,80.5,2997.5,211,172.5,6100.5],"lineTension":0},{"label":"Singapore","orig_header":"Singapore Median","backgroundColor":"rgba(153,102,255,0.2)","borderColor":"#9966ff","borderWidth":1,"data":[4945,106.5,4205.5,4808,4665.5,112.5,261,148,146,109.5,482.5,89.5,5028,155,185.5,98,126,451.5,4792,6483,7993,3102,114.5,2906,141.5,176.5,6264],"lineTension":0},{"label":"Sydney","orig_header":"Sydney Median","backgroundColor":"rgba(255,159,64,0.2)","borderColor":"#ff9f40","borderWidth":1,"data":[4582,111,4539.5,5018,2984,331,154,2487,2076,145,7343.5,2172,5214,944.5,237,75,2123,3893.5,4533.5,3128,8949.5,5936.5,100.5,4054,157,234.5,6887],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":""},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Regional podcast media hosting speeds (faster)","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":true,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"600","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Regional podcast media hosting speeds (faster)", container: "wpDataChart_12", follow_filtering: 0, wpdatatable_id: 8, group_chart: 0} if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[15] = {render_data: {"options":{"data":{"labels":["Podbean Unlimited Audio","Podbean Unlimited Plus","Podigee (35.7 MB)","podOmatic (41.37 MB)","SiteGround*"],"datasets":[{"label":"NY\/NJ","orig_header":"NY\/NJ Median","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[7629,7104,1821.5,2060,2928.5],"lineTension":0},{"label":"Chicago","orig_header":"Chicago Median","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[4757,4377,2951.5,2117.5,4330],"lineTension":0},{"label":"Dallas","orig_header":"Dallas Median","backgroundColor":"rgba(255,206,86,0.2)","borderColor":"#ffce56","borderWidth":1,"data":[4089,2581,2905.5,2166,2730.5],"lineTension":0},{"label":"LA","orig_header":"Los Angeles Median","backgroundColor":"rgba(75,192,192,0.2)","borderColor":"#4bc0c0","borderWidth":1,"data":[5505,9381,3479.5,1449.5,4914.5],"lineTension":0},{"label":"Silicon Valley","orig_header":"Silicon Valley Median","backgroundColor":"rgba(153,102,255,0.2)","borderColor":"#9966ff","borderWidth":1,"data":[4695,6637,3454,794,3793.5],"lineTension":0},{"label":"Atlanta","orig_header":"Atlanta Median","backgroundColor":"rgba(255,159,64,0.2)","borderColor":"#ff9f40","borderWidth":1,"data":[5957,6998,2871,3055,2705],"lineTension":0},{"label":"Miami","orig_header":"Miami Median","backgroundColor":"rgba(166,206,227,0.2)","borderColor":"#a6cee3","borderWidth":1,"data":[6340,10211,2761.5,2514.5,3027],"lineTension":0},{"label":"Seattle","orig_header":"Seattle Median","backgroundColor":"rgba(106,61,154,0.2)","borderColor":"#6a3d9a","borderWidth":1,"data":[7563,7576,3372.5,2007.5,2958],"lineTension":0},{"label":"Toronto","orig_header":"Toronto Median","backgroundColor":"rgba(177,89,40,0.2)","borderColor":"#b15928","borderWidth":1,"data":[4771,4160,2330.5,3458.5,2680],"lineTension":0},{"label":"Amsterdam","orig_header":"Amsterdam Median","backgroundColor":"rgba(251,154,153,0.2)","borderColor":"#fb9a99","borderWidth":1,"data":[20907,25962,336,10017,3479],"lineTension":0},{"label":"Paris","orig_header":"Paris Median","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[30074,22927,907.5,5431,4564],"lineTension":0},{"label":"Frankfurt","orig_header":"Frankfurt Median","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[10057,13978,146.5,5697,3599],"lineTension":0},{"label":"London","orig_header":"London Median","backgroundColor":"rgba(255,206,86,0.2)","borderColor":"#ffce56","borderWidth":1,"data":[13649,8692,492,5156.5,3777],"lineTension":0},{"label":"Tokyo","orig_header":"Tokyo Median","backgroundColor":"rgba(75,192,192,0.2)","borderColor":"#4bc0c0","borderWidth":1,"data":[12563,16634,6181,6660,10282],"lineTension":0},{"label":"Singapore","orig_header":"Singapore Median","backgroundColor":"rgba(153,102,255,0.2)","borderColor":"#9966ff","borderWidth":1,"data":[137692,133332,33151.5,171036.5,26537],"lineTension":0},{"label":"Sydney","orig_header":"Sydney Median","backgroundColor":"rgba(255,159,64,0.2)","borderColor":"#ff9f40","borderWidth":1,"data":[25055,25081,10275.5,26927,9262.5],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":""},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Regional podcast media hosting speeds (slower)","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":true,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"600","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Regional podcast media hosting speeds (slower)", container: "wpDataChart_15", follow_filtering: 0, wpdatatable_id: 8, group_chart: 0}

About half of the providers offer extremely-fast hosting for North America, but slow down in other parts of the world, especially Sydney and Singapore. Buzzsprout, Fireside, Pinecast, Pippa, Podbean Business Plus, Transistor, and, surprisingly, Soundcloud were the only options with consistently fast downloads to every test region (including Sydney and Singapore).

Remember these are medians, not averages. So a single bad test out of 10 consecutive tests would barely affect the results.

Wi-Fi timings

Wi-Fi is a significant normalizer for download speeds and it’s more likely how most people will download podcast episodes. Here are the results of the same download tests conducted over a Wi-Fi 5 network (formerly known as 802.11ac) with a 200 mbps (down) Internet-service provider in greater Cincinnati.

if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[13] = {render_data: {"options":{"data":{"labels":["Amazon S3*","Anchor (Cloudfront)","Archive.org*","Audioboom (55.6 MB)","Blubrry","Bunny CDN*","Buzzsprout","Captivate","Castos","Fireside","iVoox","Libsyn","Omny Studio","Pinecast","Pippa","Podbean Unlimited Audio","Podbean Unlimited Plus","Podbean Business Basic","Podcast.co","Podiant (41.2 MB)","Podigee (35.7 MB)","Podmio (S3)","podOmatic (41.37 MB)","Podserve.fm","RedCircle (55.1 MB)","Simplecast","SiteGround*","SoundCloud","Spreaker","Transistor","Whooshka (55.1 MB)","Zencast"],"datasets":[{"label":"Median","orig_header":"Wifi Median","backgroundColor":"rgba(54,162,235,0.2)","borderColor":"#36a2eb","borderWidth":1,"data":[2519.5,2548,3812.5,3278,1778,2542,1840,1823,1769,1698,2670.5,1781,1709,1696.5,1703.5,19652,22161,2048,1788,2625,6917,2533,13086.5,2325.5,3943,1792.5,3022.5,1767,5138,1702.5,4113,2637],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":""},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Wi-Fi podcast media hosting medians","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":false,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"600","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Wi-Fi podcast media hosting medians", container: "wpDataChart_13", follow_filtering: 0, wpdatatable_id: 8, group_chart: 0}

This raises the floor from milliseconds to seconds. There’s still some significant difference between hosts (such as Podbean and Buzzsprout), but the Wi-Fi connection (at least at 200 mbps) makes more of the hosts perform about the same as opposed to the multi-gigabit network speeds of my Vultr servers.

Untested factors

My regional tests were performed on virtual private servers with a multi-gigabit network connection. Real-world results will vary greatly depending on Internet speed, wireless signal strength, and device hardware. That’s another reason you may not need the fastest host: typical Wi-Fi connections and local bandwidth could normalize a lot of these results.

Every test was performed consecutively, with no overlap. Thus, my data doesn’t reflect potential performance differences when there are hundreds or thousands of devices requesting the same thing at the same time. But I think it’s likely that the best perform providers also have the backend performance to meet the high demands of simultaneous downloads. And this is why a CDN is important: if the file lives in only one place on the Internet, such as with Amazon S3 or a web host, then simultaneous downloads can easily overload the bandwidth of that single point. But with a CDN, someone in California could be downloading a file from a completely different server compared to someone in London.

I also could not test the upload performance of each podcast host. I’ve heard from some podcasters outside North America that uploading to some providers is extremely slow from their region because the media must first go to a server in the USA before spreading across the CDN. As frustrating as this could be for podcasters, it’s something that occurs only once per episode and doesn’t affect the audience. Nonetheless, if it becomes too frustrating for your situation, you might want to consider a different host.

An important discovery on stats

Only a podcast-hosting company will provide podcast stats. This is a big reason to avoid hosting your podcast media on a non-podcast host (like Amazon S3, your web host, or a private CDN) unless you can layer reputable tracking (such as Blubrry Stats) into your download URLs or, of course, you build your own IAB certified system to analyze the raw download logs.

Because my testing was done with bots that were not declaring a user agent (let alone a podcast-app user agent), I wanted to see how some of these hosts would count my test downloads. 0 would be best, 16 (1 per test region) would be acceptable, and anything more than 16 would be concerning.

if(typeof(wpDataCharts)=='undefined'){wpDataCharts = {};}; wpDataCharts[8] = {render_data: {"options":{"data":{"labels":["Anchor (Cloudfront)","Audioboom (55.6 MB)","Blubrry","Buzzsprout","Captivate","Castos","Fireside","iVoox","Libsyn","Omny Studio","Pinecast","Pippa","Podbean Unlimited Audio","Podbean Unlimited Plus","Podbean Business Basic","Podcast.co","Podiant (41.2 MB)","Podigee (35.7 MB)","Podmio (S3)","podOmatic (41.37 MB)","Podserve.fm","RedCircle (55.1 MB)","SiteGround*","SoundCloud","Spreaker","Transistor"],"datasets":[{"label":"Stats","orig_header":"Stats","backgroundColor":"rgba(255,99,132,0.2)","borderColor":"#ff6384","borderWidth":1,"data":[16,32,0,0,0,0,160,32,0,0,0,160,0,0,0,160,32,16,160,0,16,16,0,24,16,0],"lineTension":0}]},"options":{"maintainAspectRatio":true,"scales":{"xAxes":[{"scaleLabel":{"display":true,"labelString":""}}],"yAxes":[{"scaleLabel":{"display":true,"labelString":"Downloads tracked"},"ticks":{"beginAtZero":true,"min":0}}]},"title":{"display":true,"text":"Bots counted as podcast downloads","position":"top","fontFamily":"Quattrocento Sans","fontStyle":"bold","fontColor":"#333333"},"tooltips":{"enabled":true,"mode":"single","backgroundColor":"rgb(0,0,0)","cornerRadius":3},"legend":{"display":false,"position":"top"}},"globalOptions":{"defaultFontSize":"","defaultFontFamily":"Quattrocento Sans","defaultFontStyle":"bold","defaultFontColor":"rgb(0,0,0)"}},"configurations":{"type":"chartjs_column_chart","container":{"height":"400","width":0},"canvas":{"backgroundColor":"","borderWidth":"0","borderColor":"","borderRadius":"0"}}}, engine: "chartjs", type: "chartjs_column_chart", title: "Bots counted as podcast downloads", container: "wpDataChart_8", follow_filtering: 0, wpdatatable_id: 8, group_chart: 0}

These podcast hosts did not count any downloads from my bots:

These podcast hosts counted some downloads:

  • Anchor: 16
  • Podigee: 16
  • Podserve.fm: 16
  • RedCircle: 16
  • Simplecast: 8 (I’m guessing it counted only one per continent)
  • Spreaker: 16

Podcast stats were not available from Amazon S3, Archive.org, SiteGround, and Bunny CDN because they’re not podcast-hosting companies.

And here are the concerning hosts I suggest avoiding because their stats counted more than 1 download per bot (for unknown reasons):

  • Audioboom: 32
  • iVoox: 32
  • Podiant: 32
  • SoundCloud: 24

And here’s the current naughty list of hosts that counted every bot download, resulting in 160 fake downloads.

  • Fireside—working on changes in July that should better filter downloads
  • Pippa—see below for how to change the default and make Pippa stats more accurate
  • Podcast.co—working on changes in July that should better filter downloads
  • Podmio

I hate to throw any company “under the bus,” but the tracking from these four offenders was so vulnerable that I could have a single bot download the same episode 1,000 times in 15 minutes, and it artificially inflated the stats by exactly 1,000.

In the interest of journalistic integrity, I reached out to these four hosts to alert them of the vulnerability and let them see my data before I published, so they will probably work to resolve this vulnerability as soon as possible. Fireside was already refining their tracking, and Pippa pointed me to a buried option.

Pippa’s buried “analytics windowing”

Pippa offers an “analytics windowing” option buried in the advanced settings, described as follows.

Windowing affects the way that plays of your podcast are counted and presented. For example, with a 1 hour window, if the same device plays the same episode twice within 1 hour, then only 1 play will be counted in the analytics. Windowing does not affect delivery of the podcast to listeners, only presentation of the analytics. Your chosen window will be effective going forward, not backwards.

(When Pippa says “play,” they really mean “download.”)

Thus, Pippa presents three windowing options: deactivated (the default), 1 hour, and 24 hours (IAB’s measurement guidelines). I conducted my tests with the default show settings, and thus with windowing deactivated. This explains why the stats were so easy to manipulate on Pippa. When I changed the windowing option and retested, Pippa counted only 1 download per region.

That’s an acceptable number, but leaving this option to the user, buried in advanced settings, and having it deactivated by default is still corrupting the data. For Pippa stats, this would always require the question, “How is your analytics windowing configured?” Thus, it’s possible to have three separate podcasts with identical audiences report three completely different numbers.

Conclusion

If you want the truly fastest podcast media hosting, or you want to ensure your hosting can handle the high demands of simultaneous downloads, then I recommend choosing the best performers from this list (in no particular order).

Complete data table Host Stats Wifi Average Wifi Median Global Average of Averages Global Median of Medians NY/NJ Average NY/NJ Median Chicago Average Chicago Median Dallas Average Dallas Median Los Angeles Average Los Angeles Median Silicon Valley Average Silicon Valley Median Atlanta Average Atlanta Median Miami Average Miami Median Seattle Average Seattle Median Toronto Average Toronto Median Amsterdam Average Amsterdam Median Paris Average Paris Median Frankfurt Average Frankfurt Median London Average London Median Tokyo Average Tokyo Median Singapore Average Singapore Median Sydney Average Sydney Median Amazon S3* 3,638 2,519 2,298 1,490 485 345 530 536 703 699 1,163 1,151 1,419 1,421 502 479 586 559 2,681 1,558 679 598 2,127 2,125 1,712 1,774 2,039 2,012 1,657 1,614 6,773 3,752 8,847 4,945 4,875 4,582 Anchor (Cloudfront) 16 2,548 2,548 402 131 280 149 411 236 862 164 102 102 200 136 1,084 896 367 174 122 114 590 466 636 126 319 75 290 68 495 151 91 82 169 106 416 111 Archive.org* 3,907 3,812 2,589 2,462 2,546 2,559 1,701 1,379 950 988 566 360 475 404 3,169 2,366 2,415 2,214 602 556 2,445 2,022 3,194 3,127 3,421 3,489 4,848 3,981 2,796 2,747 2,671 2,607 4,678 4,205 4,958 4,539 Audioboom (55.6 MB) 32 3,284 3,278 1,188 318 383 282 511 360 499 355 229 222 289 151 1,219 1,062 597 410 469 248 802 686 273 244 317 135 335 128 538 253 2,526 2,503 4,928 4,808 5,108 5,018 Blubrry 0 1,807 1,778 2,139 102 104 71 142 61 203 80 113 96 78 56 138 128 95 68 414 400 261 255 391 68 516 189 110 108 434 78 1,975 1,882 26,180 4,665 3,072 2,984 Bunny CDN* 5,188 2,542 685 151 464 118 164 111 528 235 145 143 1,756 298 184 188 243 175 781 349 1,736 970 818 145 1,500 95 488 103 154 157 109 106 135 112 1,769 331 Buzzsprout 0 1,837 1,840 362 225 338 299 447 347 336 281 259 237 621 252 320 342 481 501 216 209 419 175 375 156 282 159 274 127 345 213 271 206 262 261 555 154 Captivate 0 2,019 1,823 517 188 263 196 157 118 271 130 255 239 321 266 208 198 328 181 570 452 169 147 328 101 490 270 128 130 404 221 161 150 149 148 4,078 2,487 Castos 0 1,806 1,769 365 157 169 150 129 116 226 226 192 174 427 400 198 161 185 147 266 258 148 139 204 154 207 207 166 145 288 170 438 147 496 146 2,104 2,076 Fireside 160 1,695 1,698 251 179 415 240 264 262 254 242 200 179 154 152 223 219 203 198 232 227 189 187 165 151 175 179 152 162 349 130 332 164 356 109 364 145 iVoox 32 3,056 2,670 1,613 1,033 113 90 1,236 991 816 437 1,243 1,222 1,556 1,134 264 241 662 603 2,069 1,722 753 518 806 575 2,164 2,074 2,263 2,149 1,893 1,736 1,675 1,076 595 482 7,711 7,343 Libsyn 0 1,787 1,781 402 92 234 106 248 80 397 95 132 129 128 125 300 138 83 64 452 394 298 63 105 81 709 193 89 73 436 83 88 75 110 89 2,627 2,172 Omny Studio 0 1,811 1,709 1,310 333 305 265 689 367 936 345 227 223 240 151 1,482 1,209 503 443 346 322 1,295 1,209 865 231 727 129 165 135 268 243 2,495 2,476 5,101 5,028 5,316 5,214 Pinecast 0 1,696 1,696 621 227 276 228 266 224 856 319 192 198 528 210 421 386 431 274 420 284 260 183 2,397 941 1,199 296 322 207 599 227 462 197 499 155 818 944 Pippa 160 1,687 1,703 345 187 223 189 277 278 359 309 189 194 633 193 241 249 192 174 161 153 154 160 188 180 118 114 195 199 428 178 559 177 783 185 834 237 Podbean Unlimited Audio 0 20,363 19,652 21,612 7,596 6,751 7,629 5,049 4,757 4,136 4,089 8,165 5,505 5,879 4,695 6,339 5,957 7,081 6,340 9,277 7,563 4,835 4,771 20,327 20,907 29,214 30,074 11,544 10,057 12,033 13,649 13,879 12,563 178,954 137,692 22,330 25,055 Podbean Unlimited Plus 0 21,882 22,161 24,667 9,036 6,775 7,104 4,250 4,377 2,842 2,581 9,716 9,381 7,002 6,637 6,795 6,998 10,297 10,211 10,319 7,576 5,284 4,160 26,152 25,962 31,526 22,927 15,470 13,978 11,101 8,692 17,240 16,634 203,250 133,332 26,666 25,081 Podbean Business Basic 0 2,066 2,048 345 122 166 149 204 140 220 135 196 83 231 79 159 120 286 109 248 119 518 491 1,291 163 232 216 459 176 272 124 371 73 149 98 526 75 Podcast.co 160 2,013 1,788 451 173 293 181 596 283 284 252 322 211 302 164 583 455 192 115 289 151 365 136 268 125 259 243 364 185 289 138 584 106 128 126 2,097 2,123 Podiant (41.2 MB) 32 4,267 2,625 3,036 251 5,911 219 4,266 171 2,597 230 2,656 96 6,096 325 400 392 1,679 544 1,321 83 280 273 1,266

Last 5 Posts

Kicked from Apple Podcasts? What Happens When You Keyword-Stuff Podcast Tags – TAP334

Play Download media
In the middle of 2018, Apple started cracking down on keyword-stuffing in podcast tags. My own show, The Audacity to Podcast, was even affected, and I've been tracking and testing other podcasts. Here's what I found!...

Personal Update from Daniel

Play Download media
With great pain and heaviness of heart, I share why I disappeared for so long, how you can help, and a new direction I'll be taking The Audacity to Podcast for a while...

How to Recover from a Failed Podcast – TAP333

Play Download media
A podcast failure doesn't mean you should quit podcasting. Here are 9 steps to help you recover and keep moving forward!...

Why You Should NOT Publish Audio Podcasts on YouTube – TAP332

Play Download media
Many podcasting tools offer the ability to automatically crosspost your audio podcast to YouTube. Here are eleven reasons I think you shouldn't do that...

How to Work with Other Podcasters – TAP331

Play Download media
Working with other podcasters can be energizing, but it can also feed your inner troll. Here's how you can build friendships instead of enemies in podcasting...

Guest Book