Skip to content
Automation-native

Upload a fileGet a publicCDN URL

Direct public CDN URLs for files generated by apps, APIs, and automations. JSON out, expiry set, deletable any time.

01one request inPOST /v1/files
02zero redirects outdirect CDN URL
03metadata the next API readsJSON response

Upload demo ready for a file.

GetFileURL
Human verification · Cloudflare Turnstile
What you get

Inputs in, URLs out, control after.

Inputs from everywhere

Accept files from apps, APIs, forms, webhooks, and automation builders without configuring S3, IAM, CORS, or CDN behavior.

Any file typeAPI keysJSON response

URLs APIs can fetch

Every upload returns a clean HTTPS file URL, content type, file size, expiry, and metadata that downstream tools can parse without redirect pages.

Content typeFile sizePublic URLNo redirects

Lifecycle after upload

Track expiry, delete files by API, inspect delivery problems, and keep workflow-generated files from becoming unmanaged public storage.

ExpiryDelete APIUsage logsURL diagnostics
01 · The problem

Workflow files aren’t built to be fetched.

Use it for AI-generated images, PDFs, OCR, invoices, social publishing, support screenshots, and any downstream API that rejects temporary Drive links, private attachments, or redirect pages.

Public URLPrivate attachment links

Work inside one tool, then fail when an external API tries to fetch them.

No redirectsRedirect pages

Drive, form, and app links return an HTML page instead of the file bytes.

Headers keptMissing headers

OCR, AI, and document APIs need content type, length, and range behavior to be predictable.

Expiry + deleteForgotten files

Workflow-generated files need expiry and deletion so public links don't live forever.

02 · How it works

Private workflow file in. Public CDN URL out.

Automations produce files that are private, binary, or stuck behind redirect pages — unreadable for the next API in the chain. POST one to GetFileURL and pass the next step a link that just works.

Demo: files are dropped one at a time (a PDF, a PNG, an MP3). GetFileURL creates a public link like cdn.getfileurl.com/f/9x2 for each, the link is copied, and it works in any app.

03 · The upload API

One request in.
A clean URL out.

Use the upload file to URL API with multipart or Base64 inputs. The response returns the URL, file ID, filename, size, content type, and expiry in automation-ready JSON.

POST /v1/files
curl -X POST https://api.getfileurl.com/v1/files \  -H 'Authorization: Bearer $GETFILEURL_KEY' \  -F 'file=@invoice.pdf' \  -F 'visibility=public'
200 OK
{  "file_id": "file_8ks41p",  "url": "https://cdn.getfileurl.com/f/file_8ks41p/invoice.pdf",  "name": "invoice.pdf",  "size": 482193,  "content_type": "application/pdf"}
04 · Lifecycle & control

Debug delivery instead of guessing why a workflow failed.

Check reachability, redirects, content type, content length, range request support, expiry, and public access before brittle automation chains fetch them.

Default expiry, per-upload expiry, delete-by-API, upload webhooks, usage alerts, and abuse handling turn generated files into governed infrastructure.

Demo: the Workflow URL Doctor checks cdn.getfileurl.com/f/9x2 — reachability, redirects, content type, expiry, and range request support all pass, and the link is marked ready for delivery.

IntegrationsWorks with the tools your workflows already use

Direct file URLs for the tools that create your files.

Send binary files, attachments, exports, and file-column assets from n8n, Make, Zapier, Pipedream, Airtable, Google Drive, ClickUp, or monday.com. Get back a direct URL, content type, file size, expiry, and JSON metadata.

Recipes

Workflows people already run in production.

Copy a recipe that already works: a real source, the file it makes, and the downstream API that finally accepts it.

Automation-native

Ask the LLM you already trust.

Don’t take our word for it. Drop the question into the model you build with and let it tell you whether GetFileURL belongs in your workflow.