Skip to main content

The Developer's Guide to EasySend API

March 26, 2026 - EasySend Team

Need to add file sharing to your app? Most file sharing APIs require OAuth setup, API key management, webhook configuration and a billing account before you can upload your first file. The EasySend API requires none of that. Zero authentication, zero configuration, zero cost.

One POST request. One shareable link back. That is the entire integration.

Quick Start: Upload a File with cURL

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

Response:

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

The share link is https://easysend.co/Ab3Kz. Anyone with that link can download the file. The upload token lets you add more files or delete files later.

Upload Multiple Files

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

All three files get bundled under a single shareable link.

Python Example

import requests

# Upload a file
with open('report.pdf', 'rb') as f:
    response = requests.post(
        'https://easysend.co/api/v1/upload',
        files={'files[]': f}
    )

data = response.json()
print(f"Share link: https://easysend.co/{data['short_code']}")
print(f"Upload token: {data['upload_token']}")

JavaScript / Node.js Example

const fs = require('fs');
const FormData = require('form-data');

const form = new FormData();
form.append('files[]', fs.createReadStream('report.pdf'));

const response = await fetch('https://easysend.co/api/v1/upload', {
  method: 'POST',
  body: form
});

const data = await response.json();
console.log(`Share link: https://easysend.co/${data.short_code}`);

API Endpoints

The full API reference is at easysend.co/api. Here are the key endpoints:

Upload files

POST /api/v1/upload
Content-Type: multipart/form-data
Field: files[] (one or more files)

Get bundle info

GET /api/v1/bundle/{short_code}

Returns file list, sizes, download counts, expiry time and encryption status.

Download a file

GET /api/v1/download/{file_id}

Returns the raw file content with appropriate Content-Type and Content-Disposition headers.

Add files to existing bundle

POST /api/v1/upload/{upload_token}
Content-Type: multipart/form-data
Field: files[]

Delete a file

DELETE /api/v1/file/{file_id}
Authorization: Bearer {upload_token}

Check code availability

GET /api/v1/check/{code}

Check if a custom short code is available before upload.

Optional Features via API

Add these POST fields to your upload request:

CLI Tool

For quick terminal uploads, install our CLI:

curl -fsSL https://easysend.co/cli/install.sh | bash

Then:

# Upload a file
easysend report.pdf
# Output: https://easysend.co/Ab3Kz

# Upload multiple files
easysend file1.pdf file2.png file3.zip

# Copy link to clipboard
easysend report.pdf --copy

# Get bundle info
easysend --info Ab3Kz

# Raw JSON output
easysend report.pdf --json

Claude Code MCP Plugin

If you use Claude Code, you can share files directly from your AI assistant session. Our MCP plugin lets Claude upload, download and manage files on EasySend.

# In Claude Code settings (~/.claude/settings.json):
{
  "mcpServers": {
    "easysend": {
      "command": "npx",
      "args": ["-y", "easysend-mcp"]
    }
  }
}

Then just tell Claude: "Upload this file to EasySend" or "Download the files from easysend.co/Ab3Kz".

Embeddable Widget

Want to add file uploads to your own website? Drop in one script tag:

<script src="https://easysend.co/widget/easysend-widget.js" data-theme="dark"></script>
<div id="easysend-upload"></div>

That renders a complete upload widget with drag-and-drop, progress bar, share link and copy button. Configurable via data attributes for theme, max files and button text. See the live demo on our API docs page.

Use Cases

Rate Limits

The API is rate limited to prevent abuse:

These limits are generous for normal usage. If you need higher limits for production workloads, contact us.

Get Started

No API key to generate. No OAuth flow to implement. No billing to set up. Just send a POST request and you are live.

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

Full documentation: easysend.co/api

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
10 Best Free File Sharing Services in 2026
Mar 27, 2026