Developer-first Mobile App Assets

Serve Downloadable App Resources and Updates From the Nearest Edge

Host mobile app resources, images, and updates with global CDN delivery.

Mobile apps ship a thin binary and pull the rest at runtime: remote config images, localized asset packs, level or content bundles, promotional artwork, and downloadable resource updates that don't warrant a full App Store / Play Store release. Every one of those downloads happens on a phone, frequently over a flaky cellular link, so the dominant performance factor is edge proximity. files.link hosts these assets on permanent URLs served from a global CDN, so a user in São Paulo and a user in Berlin each fetch from a nearby point of presence rather than your origin region.

The upload side is a simple REST flow you can run from a build script or your backend's admin tooling — POST /v1/files/{folderId} returns a presigned URL and id, you PUT the asset bytes, then POST /v1/files/confirm-upload with {ids:[...]} — using your raw API key as the auth header. Versioning is best handled with explicit paths rather than mutation: upload icon assets under a v2.3 folder or with a versioned filename, so /v2.3/pack.zip and /v2.4/pack.zip each have their own permanent, aggressively-cacheable URL.

That avoids the cache-busting headaches you get when you overwrite a single 'latest' URL, and lets older app versions keep pulling the assets they were built against. From the client side, files.link is just HTTP, which means it works identically from native iOS (URLSession), native Android (OkHttp/Retrofit), React Native (fetch), and Flutter (dio/http) — there is no platform SDK to add to your binary, no extra dependency to keep updated, and no per-platform configuration.

For assets that should only reach entitled users — paid content packs, account-scoped downloads, pre-release builds for testers — store them as private files and have your backend mint expiring signed URLs after it checks the user's entitlement, so the download link can't be shared past its window. A clarification on scope: this is asset and resource delivery, not a managed code-push framework — files.link won't orchestrate JS bundle rollouts the way an OTA-update product does, but it is an excellent, cheap origin-plus-CDN for the bundles such a system downloads, and for any image or data file your app fetches at runtime.

Billing is prepaid credits against real storage and egress, which scales naturally with install base instead of forcing you onto a fixed tier before you have the users to fill it.

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

Firebase StorageCloudflare R2AWS Amplifyfiles.link
Global CDN delivery to mobile clients
Versioned, cacheable asset URLs
No platform SDK in your binary
Entitlement-gated downloads via signed URLs
Managed code-push / OTA orchestration
Prepaid credits billing

Calculate Your Needs

Storage

0GB

Egress

0GB

CDN Bandwidth

0GB
Total: $0.000/month

Start Hosting App Assets

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

Frequently Asked Questions

Can I push over-the-air resource updates?
You can host the bundles a client downloads. Upload an update bundle, reference its CDN URL from your app, and have the app fetch it on launch. files.link delivers the bundle; it doesn't orchestrate code-push rollouts the way a dedicated OTA framework does.
How should I version mobile assets?
Use explicit versioned paths or filenames (e.g. /v2.3/pack.zip), not overwrites. Each version gets its own permanent, cacheable URL, so older app builds keep pulling the assets they shipped with and you avoid cache-busting issues.
Does it work for both iOS and Android?
Yes. It's plain HTTP, so it works from URLSession on iOS, OkHttp/Retrofit on Android, fetch in React Native, and dio/http in Flutter — with no platform SDK added to your binary.
How do I restrict a paid content pack to entitled users?
Store it as a private file. Have your backend verify the user's entitlement and mint an expiring signed URL for the download, so the link can't be reshared after its window.
How is this billed as my install base grows?
Prepaid credits drawn down by actual storage and delivery. Costs scale with real usage rather than forcing a fixed monthly tier before you have the traffic.
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