Migration

Migrate from Cloudflare Stream to host.video

Go from bare-bones infrastructure to a complete video platform in under an hour

Why Teams Are Switching

Bare-bones analytics

Cloudflare Stream has the least analytics of any video platform. Client-side only, GraphQL API limited to one-month windows, and documentation described as "terribly sparse and far from complete." There is no viewer-level data, no heatmaps, no engagement tracking.

No dashboard for non-developers

Stream is designed for developers writing code against an API. There is no management UI that a marketing or content team can use independently. Every operation requires technical involvement.

No branding or player customization

Stream's player is generic with no white-label controls. There is no way to add your logo, change colors, or remove Cloudflare branding without building a custom player from scratch.

What You'll Gain

Real analytics

Before: minimal client-side metrics with a one-month data window. After: per-video and per-viewer analytics from day one.

A dashboard anyone can use

Before: API-only management requiring engineering. After: a visual dashboard where any team member can upload, organize, and manage videos.

Branded player and custom domain

Before: a generic player served from Cloudflare's domain. After: a white-label player with your colors and logo, served from your own domain.

Step-by-Step Migration

Step 1: Export from Cloudflare Stream

Use the Cloudflare Stream API to download your original video files. List your videos via the API, then download each source file using the download endpoint. For large libraries, script this with the Cloudflare API client.

Step 2: Create your host.video account

Sign up for a free 14-day trial. Configure your workspace, custom domain, and player settings.

Step 3: Upload your library

Upload exported files via the dashboard or S3 import. If your source files are in R2 or another S3-compatible bucket, the import is especially fast. All uploads use resumable TUS protocol.

Step 4: Update your embeds

Replace Cloudflare Stream embed iframes (referencing customer-{id}.cloudflarestream.com or iframe.videodelivery.net) with host.video embed codes. If you were using the Stream player API in JavaScript, swap it for the host.video iframe.

Step 5: Verify and go live

Test playback, confirm HLS adaptive streaming works, and verify your custom domain and player branding. You can keep using other Cloudflare services — host.video runs independently.

What About My Embed Links?

Cloudflare Stream embeds use iframe URLs pointing to videodelivery.net or cloudflarestream.com. These will work as long as your Stream subscription is active. Replace your embed codes before canceling Stream. Since Stream is billed on usage, you can keep both services running during the transition without paying double for a fixed plan — you only pay for what is actually being delivered.

FAQ

How long does it take?

For a developer-managed library of 50-200 videos, the API-based export and re-upload typically completes within an hour. Embed replacement depends on how your application renders video.

Will I lose my analytics?

Cloudflare Stream analytics are limited to a one-month rolling window via their GraphQL API. Export any data you need before migrating. host.video retains analytics history for the life of your account.

Can I still use Cloudflare for my site?

Yes. host.video is independent of Cloudflare. You can continue using Cloudflare for DNS, CDN, Workers, and any other services while hosting your video on host.video.

Start your free migration

14-day free trial. We'll help you move — free.

Start your free trial