File Upload API

File Upload API: Upload a File, Get a Permanent CDN URL

No S3. No IAM. No CDN config. One API call.

POST a file, get back a public CDN link with no automatic expiry. Works in any language, automation platform, or webhook. Free to start.

Get free API key →
15 uploads/month instantly · 50/month after email verification · 50MB files · No credit card

Works With Your Existing Tools

Approved Zapier app, verified n8n Cloud node, Make workflows, and native Pipedream component. No storage setup.

n8n Cloud verified ✓
Make custom app ✓
Zapier approved app ✓
Pipedream native component ✓
Airtable coming soon
Monday.com coming soon
ClickUp coming soon
Notion coming soon
n8n Cloud verified ✓
Make custom app ✓
Zapier approved app ✓
Pipedream native component ✓
Airtable coming soon
Monday.com coming soon
ClickUp coming soon
Notion coming soon

FilePost is approved on Zapier and rolling out in the public app directory. See the Zapier guide.

Using Airtable? Fix expiring attachment URLs →
Try it live

Try it free — get a public URL + your API key

Drop any file up to 10 MB. We'll email your free API key so you can keep uploading after the trial.

Your public URL
Step 01

Get your API key

Sign up free, no credit card. You get a key instantly. 15 uploads/month instantly, 50/month after email verification.

Step 02

POST your file

One HTTP request with your file attached. Works from curl, Python, Node, or any no-code tool.

Step 03

Use the CDN URL

You get back a public CDN link. It keeps working until you delete it or configure expiry.

File Upload REST API: Drop-in Integration

Works with any language or platform that can make HTTP requests. The cURL example below runs without an API key.

# No API key needed : run this right now curl -X POST https://filepost.dev/v1/demo-upload \ -F "file=@photo.png" # Response { "url": "https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3.png", "file_id": "a1b2c3d4e5f6", "size": 84210 }
# pip install requests import requests r = requests.post( "https://filepost.dev/v1/upload", headers={"X-API-Key": "fh_your_key"}, files={"file": open("photo.png", "rb")} ) print(r.json()["url"]) # https://cdn.filepost.dev/file/filepost/uploads/a1/a1b2c3.png
// npm install node-fetch form-data const FormData = require('form-data'); const fs = require('fs'); const form = new FormData(); form.append('file', fs.createReadStream('photo.png')); const res = await fetch('https://filepost.dev/v1/upload', { method: 'POST', headers: { 'X-API-Key': 'fh_your_key' }, body: form }); console.log((await res.json()).url);
Used by developers, agencies, and automation builders
People like you are already using it
50+
Countries using FilePost
No automatic expiry
99.9%
Uptime on Cloudflare CDN
1 call
From upload to CDN URL

What people are saying

★★★★★

"I send files to clients all the time. Every other service I tried either expired the link or required them to sign up. FilePost gave me a link that just works, weeks later. Simple."

Lena B.
Lena B.
Freelance Content Manager
★★★★★

"I build Make automations for clients who are not technical at all. With FilePost's module I can wire up file uploads in 5 minutes. They don't need to touch anything."

Priya K.
Priya K.
Automation Consultant
★★★★★

"Needed file uploads in a side project and did not want to deal with S3 and IAM policies again. FilePost was running in under 20 minutes. Been in prod for 4 months, zero issues."

Marcus T.
Marcus T.
Backend Developer

Simple, Transparent Pricing

Start free. Upgrade when you need more. No hidden fees.

Free
Perfect for testing and side projects
$0
  • 15 uploads / month instantly
  • 50 / month after email verification
  • 50 MB max file size
  • 2 GB storage
  • Global CDN delivery
  • REST API access
Get started free
Pro
For teams and production workloads
$29/mo
  • 7,500 uploads / month
  • 500 MB max file size
  • Unlimited storage
  • Global CDN delivery
  • Priority support
99.9% uptime SLA Backblaze B2 storage Cloudflare CDN delivery No automatic expiry

Detailed comparison

LimitFreeStarterPro
Uploads / month15 instant / 50 verified1,5007,500
Max file size50 MB200 MB500 MB
Storage2 GBUnlimitedUnlimited
BandwidthUnlimited (all plans)
File retentionNo automatic expiry by default
API rate limit10 req/s50 req/s200 req/s

Why Choose FilePost as Your File Upload API

No automatic expiry

URLs keep working until you delete the file, configure expiry, or the account is terminated.

Higher limits

Up to 7,500 uploads/month and 500 MB per file. Built for production workloads.

Full file management

List, get metadata, and delete files via API. Complete lifecycle control.

Global CDN

Files served via Cloudflare edge. Fast downloads worldwide, HTTPS by default.

Transparent limits

Every limit is documented. No hidden caps, no throttling surprises.

Interactive docs

Swagger/OpenAPI at /docs. Test every endpoint in your browser.

What Is a File Upload API?

A file upload API is a REST API that lets you upload files programmatically and receive a hosted URL in return. Instead of configuring cloud storage buckets, setting up IAM permissions, and wiring a CDN yourself, a file upload API handles the entire pipeline: you send a file via a POST request, and the API stores it, serves it through a global CDN, and returns a permanent public URL.

Developers use file hosting APIs like FilePost for common use cases including user avatar uploads, document management in SaaS apps, form file attachments, storing generated PDFs and reports, and piping files through automation workflows in tools like n8n, Pipedream, Zapier, and Make.

The typical alternative is setting up AWS S3 with CloudFront, which requires configuring buckets, IAM roles, CORS policies, and CDN distributions. A file upload REST API like FilePost reduces that to a single HTTP request. You POST a file, you get a CDN URL. No infrastructure to manage, no bandwidth fees, no expiring links.

FilePost works with any language or framework. Whether you're building with Python, Node.js, React, Next.js, or using cURL from the command line, you can upload files via the API in a single call. For a detailed comparison with AWS S3, see our File Upload API vs S3 guide.

Get your API key

Free tier, no credit card required. Start uploading in seconds.

Get free API key →

File Upload API: Frequently Asked Questions

What is FilePost?

FilePost is a file hosting API that lets developers upload any file via a simple REST API call and receive an instant public CDN URL. It eliminates the need to configure S3 buckets, storage permissions, or CDN infrastructure. Files are stored on Backblaze B2 and served globally through Cloudflare's CDN with HTTPS encryption.

How do I upload a file using the REST API?

Send a POST request to https://filepost.dev/v1/upload with your file as multipart form data and your API key in the X-API-Key header. The file upload REST API returns a JSON response containing the permanent public CDN URL for your file. The entire process takes one HTTP request. See our REST API file upload guide for code examples in cURL, Python, Node.js, and Java.

Is there a free tier?

Yes. The free plan starts with 15 uploads per month instantly. Verify your email to unlock 50 uploads per month, 50MB max file size, 2GB storage, and CDN delivery. No credit card required. Paid plans start at $9/month with 1,500 uploads and unlimited storage.

What file types are supported?

FilePost accepts any file type: images (PNG, JPG, WebP, SVG), PDFs, documents (DOC, DOCX), videos (MP4, WebM), archives (ZIP, RAR), code files, and more. There are no restrictions on file formats. The file upload API handles the storage and CDN delivery regardless of file type.

How long are files stored?

Files have no automatic expiry by default. URLs keep working until you delete the file, configure expiry, or the account is terminated.

Can I use the file upload API with n8n, Pipedream, Zapier, or Make?

Yes. FilePost works with automation platforms including Zapier, n8n, Pipedream, Make, Airtable, and any webhook-based workflow. FilePost has an approved public Zapier app, a verified n8n Cloud community node, and a native Pipedream component for uploading files and managing FilePost URLs.

How is FilePost different from AWS S3?

FilePost is a managed file upload API that replaces the S3 + IAM + CloudFront stack with a single API call. No bucket configuration, no IAM roles, no CDN setup. S3 gives you more flexibility for complex object storage needs, but if your use case is "upload a file, get a public URL," FilePost is simpler, faster to integrate, and has no bandwidth fees. Read our full File Upload API vs S3 comparison.

What is the best file upload API for developers?

The best file upload API depends on your use case. For simple upload-and-serve workflows, FilePost offers the fastest integration: one POST request, one CDN URL. For image transformations, Cloudinary is strong. For full object storage, AWS S3 is the standard. FilePost is designed for developers who want the simplest possible API without managing infrastructure. See our comparison of the top file hosting APIs.

How do I upload files with Python or JavaScript?

With Python, use the requests library to POST your file to the FilePost API. With JavaScript/Node.js, use fetch or axios with FormData. Both take under 5 lines of code. See our guides for Python file upload and React/Next.js file upload with full code examples.