Skip to main content

EasySend API Tutorial: Upload in One Line

March 27, 2026 - EasySend Team

You can add file sharing to any application with a single HTTP request. No API key, no OAuth, no signup. This tutorial walks through uploading, downloading and managing files via the EasySend API.

Upload a File (One Line)

curl -F 'files[][email protected]' https://easysend.co/api/v1/upload

Response:

{
  "success": true,
  "short_code": "Ab3Kz",
  "share_url": "/Ab3Kz",
  "upload_token": "abc123...def456",
  "files": [{"id": 42, "name": "report.pdf", "size": 1048576, "mime_type": "application/pdf"}]
}

The share link is https://easysend.co/Ab3Kz. The upload token lets you manage the bundle later.

Python Example

import requests

# Upload
with open('report.pdf', 'rb') as f:
    r = requests.post('https://easysend.co/api/v1/upload', files={'files[]': f})
data = r.json()
print(f"Share: https://easysend.co/{data['short_code']}")

# Get bundle info
info = requests.get(f"https://easysend.co/api/v1/bundle/{data['short_code']}").json()
for f in info['files']:
    print(f"  {f['name']} ({f['size']} bytes) - {f['download_count']} downloads")

# Download a file
file_id = info['files'][0]['id']
content = requests.get(f"https://easysend.co/api/v1/download/{file_id}").content
with open('downloaded.pdf', 'wb') as f:
    f.write(content)

JavaScript / Node.js Example

import fs from 'fs';
import FormData from 'form-data';

// Upload
const form = new FormData();
form.append('files[]', fs.createReadStream('report.pdf'));
const res = await fetch('https://easysend.co/api/v1/upload', { method: 'POST', body: form });
const { short_code, upload_token } = await res.json();
console.log(`Share: https://easysend.co/${short_code}`);

// Get bundle info
const info = await fetch(`https://easysend.co/api/v1/bundle/${short_code}`).then(r => r.json());
console.log(`${info.file_count} files, ${info.view_count} views`);

// Delete a file
await fetch(`https://easysend.co/api/v1/file/${info.files[0].id}`, {
    method: 'DELETE',
    headers: { 'Authorization': `Bearer ${upload_token}` }
});

API Reference

Optional Fields

Add these POST fields when uploading:

Rate Limits

10 uploads per hour, 60 API requests per minute per IP. More than enough for normal integration. Contact us if you need higher limits.

Full documentation: easysend.co/api. Integration guide: easysend.co/integrate.

View Full API Docs

Related Guides

Get notified about new features and tips

No spam. Unsubscribe anytime.

More from the blog

How to Share Large Files for Free in 2026
Mar 26, 2026
E2E Encrypted File Sharing: Why It Matters
Mar 26, 2026
The Developer's Guide to EasySend API
Mar 26, 2026