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.
Upload demo ready for a file.
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.
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.
Lifecycle after upload
Track expiry, delete files by API, inspect delivery problems, and keep workflow-generated files from becoming unmanaged public storage.
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.
Work inside one tool, then fail when an external API tries to fetch them.
Drive, form, and app links return an HTML page instead of the file bytes.
OCR, AI, and document APIs need content type, length, and range behavior to be predictable.
Workflow-generated files need expiry and deletion so public links don't live forever.
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.
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.
curl -X POST https://api.getfileurl.com/v1/files \ -H 'Authorization: Bearer $GETFILEURL_KEY' \ -F 'file=@invoice.pdf' \ -F 'visibility=public'{ "file_id": "file_8ks41p", "url": "https://cdn.getfileurl.com/f/file_8ks41p/invoice.pdf", "name": "invoice.pdf", "size": 482193, "content_type": "application/pdf"}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.
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.
n8n
Turn n8n binary data into public CDN URLs for HTTP Request nodes, OCR APIs, AI steps, and webhooks.
Make
Convert scenario-generated files into direct URLs the next Make module or external API can read.
Zapier
Return clean file URLs from Zaps without temporary attachment links or redirect pages.
Pipedream
Pass hosted files through code steps, webhooks, and API actions with stable HTTPS URLs.
Airtable
Replace expiring attachment URLs with stable public links for downstream APIs and automations.
Google Drive
Avoid Google Drive share-link redirects when APIs require direct file access and correct headers.
ClickUp
Turn task attachments into public file URLs for client portals, OCR, AI, webhooks, and CRM handoffs.
monday.com
Convert file column attachments into direct URLs that document APIs, automations, and CRMs can fetch.
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.
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.