RapidfileAPI
Acedi
Rapidfile API

Prodòtt Rapidfile



Upload API v1

File uploads for your app, without the bill

Let your users upload photos, videos and documents straight from the browser. Files are stored for good until you or your app delete them, each with a CDN link and a signed webhook. Included in every Rapidfile plan, with no bandwidth fees.

Persistent file storage for developers' apps: files stay until you or your app delete them, served from CDN links. To send a file that expires on its own, use Rapidfile. To host your own images and videos, use Rapidfile Media.

Get an API key Read the docs
  • 2 GBfree storage
  • $5/mo for 100 GB
  • 50 GBmax file size
app/api/upload/route.ts
// app/api/upload/route.ts: runs on your server, so the secret key stays private
import { auth } from '@/lib/auth'; // your own session check

export async function POST(req: Request) {
  const user = await auth(req);
  if (!user) return Response.json({ error: 'unauthorized' }, { status: 401 });

  const { name, size, type } = await req.json();
  const res = await fetch('https://api.rapidfile.cc/v1/uploads', {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.RAPIDFILE_SECRET_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ name, size, type, metadata: { userId: user.id } }),
  });
  return Response.json(await res.json(), { status: res.status });
}
200PUT upload.url
{
  "file": {
    "id": "Xy7Kq2Lm9P",
    "name": "cat.jpg",
    "status": "ready",
    "url": "https://cdn.rapidfile.cc/Xy7Kq2Lm9P/cat.jpg"
  }
}

How it works

Three requests, zero file proxying

  1. 1

    Your server creates an upload

    One POST /v1/uploads with your secret key. You decide who may upload what, and how big.

    your server → Rapidfile
    POST /v1/uploads
    Authorization: Bearer rk_live_…
    
    { "name": "cat.jpg", "size": 48213, "type": "image/jpeg" }
  2. 2

    The browser uploads directly

    The response holds a signed URL. The browser PUTs the file to it; large files go up in parallel parts.

    browser → Rapidfile
    await uploadFile(file, { getUpload: '/api/upload' })
  3. 3

    Webhook and CDN link

    The file is ready on the CDN and your app gets a signed file.uploaded webhook to save it.

    Rapidfile → your server
    { "type": "file.uploaded", "data": { "url": "https://cdn.rapidfile.cc/Xy7K…/cat.jpg" } }

Features

Everything user uploads need, nothing you have to run

Direct browser uploads

Your server hands the browser a signed upload URL. Bytes never touch your servers, so there is nothing to proxy or scale.

Multipart up to 50 GB

Big files are split into parts that upload in parallel and retry on their own. The SDK does it with one function call.

CDN links

Every public file gets a permanent URL on cdn.rapidfile.cc, ready for an <img>, <video> or download link.

Private files, signed URLs

Mark uploads private and hand out signed URLs that expire when you choose, from a few seconds up to 7 days.

Webhooks with HMAC

Get file.uploaded and file.deleted events, signed with HMAC-SHA256 so you know they came from us.

Free bandwidth

No egress fees and no daily request limit: CDN delivery is unlimited on every plan, so a popular file never costs you more.

Fixed price

Free to start, then $5, $15, $49 a month. The price on the page is the price on the invoice.

Plain REST, tiny SDK

A handful of endpoints, JSON in and out, CORS enabled. Use the browser SDK or just fetch from any language.

MCP server

Give your AI agent file uploads

Connect Claude Code, Cursor, VS Code or any MCP client to https://api.rapidfile.cc/mcp with an app's secret key. Your agent can upload text, binary or a URL and get a CDN link back, hand out signed upload URLs, list and delete files and check usage.

  • upload_file
  • create_upload_url
  • list_files
  • get_file
  • delete_file
  • get_signed_url
  • get_usage
MCP docsGet a key
Claude Code
claude mcp add --transport http rapidfile-api https://api.rapidfile.cc/mcp --header "Authorization: Bearer rk_live_…"

Which one do I need?

The Upload API is persistent storage for developers: files stay until you or your app delete them. To send someone a file that expires on its own, or to host your own images and videos, these are a better fit.

Send a file once → Rapidfile Host an image or video for good → Media Store your app's files for good → Upload API

Rapidfile

rapidfile.cc

Send a file to someone

What it does
Send big files, folders and videos with a link, a QR code or a 6-digit code.
How long files stay
Temporary: 1 hour to 30 days, then deleted automatically.
Who it is for
Anyone. Recipients never need an account.
Included in your plan
Free: 500 MB without an account, 2 GB signed in. Plus from $3.99/month covers all three products.
Send a file

Rapidfile Media

media.rapidfile.cc

Host images and videos

What it does
Permanent CDN links for images, GIFs and videos, with a clean player and embed codes.
How long files stay
Until you delete them. Persistent storage with CDN links.
Who it is for
Creators, bloggers, forums, docs and READMEs.
Included in your plan
Free: 1 GB. Rapidfile Plus: 10 GB, Pro: 50 GB. Add-on for heavy use from $4.99/month.
Upload media

Rapidfile Upload API

api.rapidfile.cc
You are here

Add file uploads to your app

What it does
Persistent file storage and uploads for your own web or mobile app: signed browser uploads, CDN links, webhooks, private files and a tiny SDK.
How long files stay
Until you or your app delete them. Persistent storage with CDN links.
Who it is for
Developers building apps for their own users.
Included in your plan
Free: 2 GB with unlimited CDN requests. Rapidfile Plus: 10 GB, Pro: 50 GB. Add-on for heavy use from $5/month.
Get an API key

Pricing

Start free. Grow on a fixed price.

Compare plans and estimate your cost

Guides

Pick your stack

Questions

What is the Rapidfile Upload API?

A hosted file upload service for your web or mobile app. Your server creates an upload with a secret key, your user's browser sends the file straight to Rapidfile, and you get a CDN link plus a webhook. It is built and run by Enzonic LLC, the team behind Rapidfile.

How much does it cost?

The Upload API is included in every Rapidfile plan: 2 GB of persistent storage and unlimited CDN requests free, more storage with Rapidfile Plus and Pro. For heavy use, add-ons start at $5 a month for 100 GB. Prices are fixed: there are no bandwidth or per-upload fees. See pricing.

How long are files kept?

For good. The Upload API is persistent storage: files stay until you delete them in the dashboard or your app deletes them through the API (DELETE /v1/files/:id). Nothing expires on its own, unlike Rapidfile transfers, which delete themselves after 1 hour to 30 days.

Do files pass through my server?

No. Your server only makes one small JSON request to create the upload. The bytes go from the browser directly to Rapidfile using a signed URL that is valid for one hour and only works for that one file.

How large can uploads be?

Up to 512 MB per file on the free plan and up to 50 GB on Scale. Files over 95 MB are uploaded in parallel parts; the browser SDK handles that, including retries and progress.

Can files be private?

Yes. Create the upload with "acl": "private". Private files have no public URL; your server creates short-lived signed URLs (up to 7 days) when a user should see the file.

Which frameworks are supported?

Anything that can make an HTTPS request. The docs have copy-paste guides for Next.js, Express, SvelteKit and plain HTML, and the API is plain REST with JSON.

Is there an SDK?

A dependency-free browser module at https://api.rapidfile.cc/sdk.js (MIT licensed). It uploads single files and multipart files, reports progress and retries failed parts. Server side you only need fetch.

Can AI agents use the API?

Yes. https://api.rapidfile.cc/mcp is a remote MCP server (Streamable HTTP). Connect Claude Code, Cursor, VS Code or any MCP client with an app's secret key and the agent can upload files, list and delete them, create signed URLs and check usage. See MCP for AI agents.

Ship uploads this afternoon

Create an app, copy the secret key into your server, drop in the SDK.

Open the dashboard