You can download every file submitted through a HubSpot form — but not with an export. Exporting form submissions gives you a spreadsheet with a URL column, and each of those URLs only opens for someone signed into your portal. The actual files live in file-type properties on the contacts who submitted them, and that's the handle that gets them out in bulk: point FileFetch, our HubSpot Marketplace app, at that property and download one zip with every upload, named by contact.
This guide covers where form uploads actually go, why the links won't open for anyone outside HubSpot, what submission exports really contain, the no-code bulk flow, and when a developer pipeline is the better answer.
Where do form-uploaded files actually go?
When someone attaches a file to your form, two things happen. The file itself lands in HubSpot's file storage, tucked into a form-uploads area you won't find by browsing the Files tool — there's no folder of resumes to open and scroll through. And the submission writes the file's URL into the file-type property your upload field is mapped to on the contact record; one property can hold several files from the same submission.
So the files are safe, but there's exactly one handle on them: the property, contact by contact. Open a record and you can click through to its uploads. What HubSpot doesn't give you is any view of all of them — which is fine until the day someone asks for every application from the last quarter in one place.

Why won't the file links open for anyone else?
Because back in 2019, HubSpot locked form-upload URLs down: opening one now requires a signed-in HubSpot user from your portal. That was the right call — people submit resumes, IDs, and financial documents through forms, and none of that should sit on a public link that anyone who guesses the URL can read.
But it has a workflow consequence most teams discover the hard way. Forward a submission notification email, or send the hiring manager your export spreadsheet, and every file link in it hits a login wall for anyone without a HubSpot seat. The links aren't broken — they're doing their job. Getting the documents to people outside the portal means getting the actual files out first.
Need those files out today? Get FileFetch →
Does exporting form submissions get you the files?
No. Export your submissions — or the contacts themselves — and the file-upload column contains URLs, not files. Turning that spreadsheet into documents means working down the column by hand: click a link while signed in, save, rename so you can tell resume.pdf from the other forty resume.pdfs, repeat.
For a dozen submissions, that's an annoying half hour. For a hiring season, a grant cycle, or a backlog of warranty claims, it's days of clicking with no way to prove you got everything. Nothing in the export tells you a download was missed.
Who hits this problem?
Anyone whose form collects documents instead of just answers:
- Recruiting — careers-page forms collecting resumes and cover letters that need to reach hiring managers who don't live in HubSpot.
- Applications and grants — programs collecting proposals, transcripts, or supporting documents that a review committee needs as a packet.
- Claims and verification — warranty photos, proof-of-purchase receipts, insurance documentation headed to an adjuster or finance.
- Vendor and RFP intake — W-9s, certificates of insurance, and compliance docs that procurement files somewhere far more official than a contact timeline.
The shape is always the same: files arrived one submission at a time, and now somebody needs all of them at once.
How to bulk download form uploads without code
Since every form upload is a file-type property on a contact, the bulk route is a property pull:
- Install FileFetch from the HubSpot App Marketplace — standard OAuth, read-only scopes, and the Free plan (100 files a month, no card) is enough to test on a real form. The setup guide has the details.
- Choose "Download from all records" and pick contacts (or whichever object your form creates).
- Pick the source: "Stored in a file-type property" and select the property your upload field maps to — just that one, or every file property on the object.
- Filter to the submissions you need. Any property with HubSpot's full operator set: a create-date range for this quarter's applicants, a lifecycle stage, whatever marks your submitters. Records without files simply contribute nothing.
- Scan, then download. FileFetch shows exactly how many contacts and files match before anything counts against your allowance. The zip arrives with every file named by the contact it came from, plus a log of anything skipped or failed.
The login wall stops being your problem, too: FileFetch retrieves each file through your portal's own authenticated access, and the documents in the zip are ordinary files you can hand to anyone. For the deeper mechanics of file properties — and the other ways they get filled — see the file properties guide.
When is the developer route better?
When submissions need to flow somewhere else continuously. Form-upload URLs accept OAuth and API-key authentication, and HubSpot's suggested pattern for developers is a webhook on the upload property that downloads each new file and pushes it onward — into an ATS, a document management system, wherever the file's real home is. If every new resume should appear in your ATS within minutes, forever, that's an integration project worth building.
If the need is "get me this quarter's uploads by Friday" — or even a recurring monthly pull — on-demand is the right amount of tooling, and that's the job FileFetch was built for. We're Market Disrupt, a HubSpot Platinum Solutions Partner, and we've shipped both answers; if you're not sure which side of the line your form falls on, ask us and we'll tell you straight.
Frequently Asked Questions
How do I download files submitted through a HubSpot form?
Form uploads are stored in file-type properties on the contact who submitted them, so the bulk route is a property pull. A tool like FileFetch lets you pick contacts, select the upload property, filter to the submissions you need, and download every file in one zip named by contact — no code required. One at a time, you can also open each contact and click through from the property.
Why do HubSpot form upload links require a login?
HubSpot locked form-upload URLs down in 2019 so that only signed-in users from your portal can open them — sensible, since forms collect resumes, IDs, and financial documents that shouldn't sit on public links. The side effect is that file links in notification emails and exports hit a login wall for anyone without a HubSpot seat, so sharing the documents means downloading the actual files first.
Can I export HubSpot form submissions with the uploaded files included?
No. Exporting submissions or contacts gives you the file's URL in a column, never the file itself, and each URL requires an authenticated click. To get the actual documents in bulk you need either a purpose-built tool that pulls the file-type property across records, or a developer script using the API's authenticated download access.
