File.io

Storage API · Works globally · Ephemeral file sharing

TL;DR

File.io is a dead-simple file sharing service: upload a file via POST, get back a shareable URL, and the file is automatically deleted after the first download. No account, no storage management, no lingering files. Supports any file type up to 5GB on the free plan. The API returns JSON with the download URL, expiry date, and file size. Perfect for one-time file transfers where privacy matters — after one download, the file is gone forever.

Quick start (upload): curl -F "file=@myfile.zip" https://file.io

No API key needed — just make a request!

How to Use This API

1. Upload a File (POST)

Send a multipart form with your file:

curl -F "file=@document.pdf" https://file.io

Response: {"success":true,"key":"abc123","link":"https://file.io/abc123","expiry":"2026-06-17","size":12345}

2. Custom Expiry (POST)

Set how long the link should last before auto-deleting:

curl -F "file=@image.png" -F "expires=1d" https://file.io

Expiry options: 1d (1 day), 7d (1 week), 30d (1 month). Default is 1 download-triggered deletion.

3. JavaScript — In-Browser Upload

async function shareFile(file) {
  const form = new FormData();
  form.append('file', file);
  
  const resp = await fetch('https://file.io', {
    method: 'POST',
    body: form
  });
  const result = await resp.json();
  
  if (result.success) {
    console.log('Share this link:', result.link);
    return result.link;
  }
}

// Usage: shareFile(inputElement.files[0])

4. Python — Upload and Share

import requests

with open('screenshot.png', 'rb') as f:
    resp = requests.post('https://file.io', files={'file': f})

data = resp.json()
if data.get('success'):
    print(f"Uploaded! Link: {data['link']}")
    print(f"Key: {data['key']}")
    print(f"Expires: {data.get('expiry', 'after first download')}")
else:
    print(f"Error: {data.get('message', 'Unknown')}")

Frequently Asked Questions

What's the maximum file size?
The free plan allows files up to 5GB. This makes it suitable for large files like video recordings, disk images, and compressed archives.
When are files deleted?
By default, files are deleted immediately after the first download. You can also set a time-based expiry (1 day, 7 days, or 30 days).
Do I need an account or API key?
No. File.io works without any registration for basic file uploads. Paid plans offer additional features like password protection.
What file types are supported?
Any file type is accepted — PDFs, images, videos, archives, executables, documents. There are no content restrictions beyond legal use.
Is the upload encrypted?
Files are transferred over HTTPS. However, file.io is a convenience service, not a secure vault. Do not upload sensitive credentials or personal data.
Can I delete a file before it's downloaded?
There is no API endpoint for manual deletion. The file will live until its first download or until the time-based expiry reaches zero.

API Details

API URL
https://file.io
Documentation
file.io
Category
Storage
Authentication
Not Required (free tier)
Geographic Coverage
Global

What You Can Build