File Storage with Built-in CDN

Storage and CDN in One Platform, One API

Store files and deliver them globally — all in one platform. No separate CDN configuration needed.

The classic way to ship files at scale is to bolt two products together: an object store for the bytes and a CDN in front for delivery. That means two services to provision, two sets of credentials, an origin-access configuration so the CDN can read the store, cache-control and invalidation rules, and two bills that you reconcile separately. files.link collapses all of that into one platform with a single REST API: upload a file and it's immediately reachable through a global CDN, with no distribution to create and no cache policy to tune.

Concretely, the difference shows up the first hour. With S3 + CloudFront you create a bucket, set a bucket policy, create a distribution, configure an Origin Access Control so only CloudFront can read the bucket, pick price classes and cache behaviors, wait for the distribution to deploy, and only then get a delivery URL — and you still own cache invalidation when content changes.

With files.link the three-call upload (POST /v1/files/{folderId} → PUT to the presigned URL → POST /v1/files/confirm-upload with {ids:[id]}) returns a permanent CDN URL that's already edge-served. There's no second product to glue on.

bash
curl -X POST https://api.files.link/v1/files/$FOLDER \
  -H "Authorization: $KEY" -H 'Content-Type: application/json' \
  -d '{"filesMetadata":[{"name":"hero.jpg"}]}'
# -> { urls: [{ url, id }] }; PUT bytes to url, then confirm-upload

The consolidation isn't just convenience — it removes whole categories of failure. There's no origin-access misconfiguration that accidentally makes your bucket public, no CDN that 403s because the origin policy drifted, no forgotten invalidation serving stale assets. Billing is one prepaid-credit balance covering storage, delivery, and requests, instead of separate storage, request, and egress lines you have to model.

The honest trade-off versus a hand-rolled S3 + CloudFront stack (or Backblaze B2 + Bunny CDN) is control over knobs you may never want: you don't pick edge price classes or write custom cache behaviors. For most apps that want files online and fast without becoming a part-time CDN operator, that's the right trade. Public files are edge-served by default; private files get signed URLs (10-minute expiry) for controlled access.

Under the hood it's a plain developer file storage API — three REST calls, no SDK — and if you're specifically adding user image uploads, the image upload API page walks the same presigned flow end to end.

Benefits With No Complexity

Global CDN delivery

Your files are served from 450+ edge locations worldwide.

Edge-cached worldwide

Files are cached close to your users for fast delivery.

Signed-URL security

Private files stay protected with time-limited access.

What You Get

Unlimited files

Upload as many files as you need.

Unlimited storage

There is no storage limit.

Public + Private storage

Private files are fully secured.

CDN ready links

Upload directly to 450+ edge locations worldwide.

Prepaid credits

No subscription. Pay only for the storage and bandwidth you use.

More coming soon

We have plenty of features coming!

How files.link Works

1. Upload

Create a project and upload your first file.

2. Copy

Copy the CDN link.

3. Use Anywhere

Paste and enjoy the blazing speed.

Why Developers Choose files.link

A Better Way to Store & Deliver Files

S3 + CloudFrontBackblaze B2 + Bunny CDNGoogle Cloud Storage + Cloud CDNfiles.link
Single platform (storage + CDN)
One API and one credential set
No origin-access / distribution config
No separate egress line
One prepaid bill, not storage + requests + egress
Private files with signed URLs

Calculate Your Needs

Storage

0GB

Egress

0GB

CDN Bandwidth

0GB
Total: $0.000/month

Start Storage with CDN

  • Global CDN delivery
  • Edge-cached worldwide
  • Signed-URL security
  • Unlimited files
  • Unlimited storage
  • Public + Private storage
  • No subscription — prepaid credits keep spend predictable
Start Storage with CDN

Frequently Asked Questions

Why bundle storage and CDN instead of S3 + CloudFront?
Fewer moving parts: no bucket policy, no distribution, no Origin Access Control, no cache-invalidation chores, and no second bill. Upload returns a permanent edge-served CDN URL directly. You trade fine-grained CDN knobs for far less configuration and fewer failure modes.
Do I have to configure caching or invalidation?
No. The CDN is on for every public file the moment it's uploaded. There's no cache policy to tune and no invalidation step — change the file by uploading a new one and referencing its URL.
How does billing compare to S3 + CloudFront?
files.link uses one prepaid credit balance covering storage, delivery, and requests. S3 + CloudFront bills storage, requests, and egress as separate metered lines across two products that you reconcile yourself.
Can I still keep some files private?
Yes. Upload with the private flag — those files aren't public and are accessed via signed URLs (10-minute expiry) your backend mints. Public files are edge-served by default.
General Questions
Is there a subscription?
No. files.link uses prepaid credits, so storage, bandwidth, and API usage are deducted from your balance as you go. The app explains the payment step before uploads are enabled — no monthly subscription and no per-user fees.
What is files.link?
files.link is a developer-first file platform that makes it simple to store, secure, and deliver files globally. It provides signed URLs, public/private access, and an API-first design so you can integrate file delivery into any app without the usual complexity.
How does billing work?
files.link uses prepaid credits. As you use storage, bandwidth, and API requests, credits are deducted daily. When your balance runs low, we automatically recharge it using your saved card. If an auto-recharge doesn't go through, your files and links stay put — you simply update your payment method or top up manually to keep going. No monthly subscriptions — just simple usage-based pricing.
How secure is my data?
All files are encrypted at rest and in transit. You can use signed URLs for private files, control access with permissions, and rely on enterprise-grade infrastructure for data protection.

Related

files.link
Copyright © 2026
All rights reserved
ContactGuidesGlossaryStatusLegal