Temporary File Upload & Hosting
Host Files Temporarily With Auto-Expiring Links
Host files temporarily with expiring signed URLs. Perfect for time-limited sharing and access.
Sometimes a temporary file upload should be reachable for a few hours, not forever — a client proof, a contract draft, a one-off export, a download you don't want indexed or bookmarked into permanence. files.link handles this with private files plus signed URLs: the bytes live in your private storage, and access happens only through a time-limited, cryptographically signed link that stops working when its window closes.
Need the opposite, a URL that never dies? See permanent file links.
The mechanism, concretely. Upload the file with the private flag — same three-call upload as anything else, just marked private, so no public CDN URL is ever minted. Then, at the moment you want to grant access, your backend requests a signed URL for that file id (GET /v1/files/signed/{id} with your API key). The response is a signed CDN link carrying a signature and an expiry; once the expiry passes, the same URL returns an error and the file is no longer reachable through it. Nothing to delete, no cleanup cron, no stale public link lingering in someone's history.
Signed URLs default to a 10-minute expiry, which is ideal for per-click access: a user requests, your backend mints a fresh link, they download immediately. For "available for a few hours" sharing, mint the link at the instant you share it and treat the window as starting then; for genuinely long-lived but still-controlled access, a permalink re-signs on each access instead.
To extend access you simply mint a new link — the file never moved. To revoke, stop issuing new links (existing ones die at their expiry) or, for an immediate hard cut, delete the file, which kills every outstanding link at once. This is the clean pattern for deliverables: a reviewer gets a link that works now and quietly stops working later, so a forwarded email or a stale bookmark doesn't leave your file open indefinitely.
Compared to WeTransfer (fixed multi-day expiry, no API for the link lifecycle) or transfer.sh-style throwaways, you control exactly when access opens and closes, and you can automate the whole thing — mint the signed URL in the same workflow step that emails the recipient. The honest caveat: the bytes keep occupying storage (and costing prepaid credits) until you delete the file; only the access URL expires.
Benefits With No Complexity
Global CDN delivery
Edge-cached worldwide
Signed-URL security
What You Get
Unlimited files
Unlimited storage
Public + Private storage
CDN ready links
Prepaid credits
More coming soon
How files.link Works
1. Upload
2. Copy
3. Use Anywhere
Why Developers Choose files.link
A Better Way to Store & Deliver Files
| WeTransfer | transfer.sh | Amazon S3 pre-signed URLs | files.link | |
|---|---|---|---|---|
| Configurable / per-request expiry | ||||
| Mint and revoke links via API | ||||
| Edge delivery for the signed link | ||||
| No recipient account needed | ||||
| Same file can stay permanent if you want | ||||
| No fixed multi-day-only expiry window |
Calculate Your Needs
Storage
Egress
CDN Bandwidth
Start Temporary File Hosting
- Global CDN delivery
- Edge-cached worldwide
- Signed-URL security
- Unlimited files
- Unlimited storage
- Public + Private storage
- No subscription — prepaid credits keep spend predictable