How to export all videos from Cloudflare stream?

Hello all,

We’re currently experimenting with Cloudflare stream and pleased thus far.

A concern we have is, should we choose to leave in the future for whatever reason, how would we get hold of all of our uploads? I see the documentation mentions we can generate MP4 download links for individually files, but this would prove expensive and slow if we have thousands of videos within the account for example - not to mention it would not provide the original uploaded file.

Is there an undocumented method support can provide that would allow us to access a dump of our videos upon request? Or perhaps the ability to migrate all videos over the AWS S3 for example?

Failing this, what approach are you taking to ensuring you have a backup of each video? In our case, we’re considering uploading to a backup location at the same time we upload to Cloudflare stream - but it’d be a less than ideal solution.


What comes to my mind is using Cloudflare API for Cloudflare Stream, therefore having some kind of a loop to make all the videos available for downloading as mp4 and download them :thinking:

Hm, when I stop for a moment, neither YouTube allows us that → we download mp4 and not the original one :thinking:

Keeping the raw material and original composition on separated physical disks on two locations.

This is answered in the FAQ. CF Stream doesn’t store the originals after transcoding.

Can I download original video files from Stream?

You cannot download the exact input file that you uploaded. However, depending on your use case, you can use the Downloadable Videos feature to get encoded MP4s for use cases like offline viewing.

So you need to store them separately. I store them on a NAS and back them up to Backblaze B2. But Cloudflare R2 would be an option too these days.

Thank you for the responses here.

Being able to get the original video file is less important to us than being able to access all the videos as MP4 should the need ever arise. Having to download each file individually feels like it’d be pretty slow and expensive given the charges. Is there not a more ‘bulk’ method or migration possible? Where all files could be downloaded as either a large archive or sync?

There’s no other way to download these, other than one at a time. You can also download in parallel, a few at a time. @fritex outlined the only other viable options: Keep a copy on a local device, or two, depending on your Disaster Recovery plan. And know that downloading them one at a time from here would be a fallback option.