You just found a data problem: forty new SimpleForm submissions are sitting in your dashboard and you need to export them to a spreadsheet before Friday's report. Clicking into each entry to copy the name, email, and message by hand is not a plan, it is an afternoon you do not have. SimpleForm is a hosted form backend that receives submissions from any HTML form, emails you a copy, and stores every entry in a dashboard you can export from later. Whether that export is a one-click download or a one-entry-at-a-time copy job depends entirely on which plan you are on, and that gap catches people off guard the first time they need their data out in bulk.
Why Does Your Dashboard Only Show Individual Submissions?
Because bulk export is a Pro and Agency feature, not a Free one. The Free plan is built for someone testing a form or running a low-volume site, so the dashboard lets you open and copy a submission but does not offer a download button.
On Free, you get 100 submissions a month, three forms, and seven days of submission history. Once a submission passes that seven-day window it is gone for good, so if you needed a record and never copied it, there is nothing left to pull.
That retention window is the part people miss. A busy week can put a submission out of reach before anyone remembers to save it, and that is the real cost of staying on manual copy for anything beyond a handful of leads a month — not the copying itself, but the entries that age out before you get to them.
If your form only collects a handful of messages a month and you check the dashboard daily, manual copy is a reasonable way to run things. The problem shows up once volume or your own attention becomes unreliable.
How Do You Export Submissions With the SimpleForm API?
On Pro and Agency, SimpleForm's /api/export.php endpoint pulls every submission for a form as a single CSV or JSON file, which is the practical way through once copying one entry at a time stops being realistic.
Setting it up takes four steps, and none of them touch your site's code — export is a dashboard and API feature, not something you wire into your HTML form's action attribute.
- Sign in to your dashboard and open the form whose submissions you want.
- Generate or copy your account's API key from account settings.
- Call
GET /api/export.phpwith your form ID and API key, choosingformat=csvorformat=json. - Save the response — it streams the full submission set for that form, not just the page currently loaded in the dashboard.
Check the API reference in the docs for the exact request headers and rate limits before you script this into a recurring job.
The same authentication rule applies to every private endpoint on the API, not just export: /api/submissions.php, /api/forms.php, and /api/webhooks.php all require your API key, while the public /f/{token} submission endpoint does not — it is meant to be called from a public HTML form.
CSV or JSON: Which Format Fits Your Workflow?
CSV is the right call when the destination is a spreadsheet, a CRM's bulk-import tool, or anything a non-technical teammate will open directly. Every field becomes a column, and most tools handle the format without configuration.
JSON is the right call when a script will consume the export — the field names stay attached to their values instead of depending on column order, and nested or optional fields (a file upload path, a custom field only some submissions have) come through cleanly instead of leaving ragged columns.
If you are not sure which you need yet, pull a CSV first. You can always switch the format parameter on the same endpoint once you know whether a human or a script is doing the next step.
A common real-world case: migrating three months of leads into a CRM before canceling a spreadsheet-based process. Pull JSON, map submission.data fields to your CRM's import schema, and you keep the field names instead of guessing which column is which after a CSV round-trip through Excel.
What's the Difference Between Free and Pro Export Access?
The short version: Free gives you visibility, Pro and Agency give you a file. Here is what each plan actually includes for getting data out of SimpleForm.
| Plan | Get data out by | Submission history | Submissions per month |
|---|---|---|---|
| Free | Copying individual entries from the dashboard | 7 days | 100 |
| Pro | CSV or JSON export via /api/export.php | Longer than Free, shown in your dashboard | 5,000 |
| Agency | CSV or JSON export via /api/export.php | Longer than Free, shown in your dashboard | 25,000 |
Both paid tiers use the same export mechanism — Agency's advantage over Pro is submission volume and larger file-upload limits, not a different way of getting your data out.
Full limits and current rates for all three tiers are on the pricing page if you are deciding which plan covers your form volume before you commit to scripting an export job.
Is It Safe to Automate Your Export Calls?
The realistic objection here is exposing an API key in a script that runs on a schedule. That risk is real but manageable: both /api/submissions.php and /api/export.php require authentication, so a leaked key only exposes submissions your own account already owns, not other customers' data.
Treat the key the way you would a database password: store it in an environment variable, not in a committed file, and rotate it if a script or repository holding it ever becomes public.
If automating a pull still feels like more infrastructure than your site needs, exporting by hand once a week from the dashboard works fine on Pro too. The API is there for when a recurring job earns its keep, not a requirement.
What Happens If an Export Call Fails?
A 403 means the request reached the endpoint without a valid API key or with a key for the wrong account — check that the key in your script matches the account that owns the form. A 402 means you are calling export on a form that has already gone over its plan's monthly submission count for that period; the submissions that came in over the limit were never stored, so they cannot appear in an export no matter which format you request.
A 404 on the export URL usually means the form ID in the request does not exist under your account, often because it was copied from a different form's settings page. Confirm the ID from the dashboard's URL rather than retyping it.
None of these are edge cases worth losing an afternoon to. A 403 or 404 shows up on your very first test call, before any real data is at stake, so the fix is almost always a five-minute check against your dashboard rather than a deeper problem with the export feature itself.
Getting Your Submissions Out From Here
If you are still copying entries one at a time, the fastest next step is to create a free SimpleForm account. It takes about a minute, never asks for a card, and drops you into the same dashboard described above, so you can see exactly what Free shows you before deciding whether Pro's export endpoint is worth adding.
Frequently asked questions
No. The Free plan lets you view and copy individual submissions from the dashboard but does not include the CSV or JSON export endpoint. Bulk export through /api/export.php is available on the Pro and Agency plans. Free users who need a full record should copy entries before they age out of the 7-day history window.
On the Free plan, submissions are kept for 7 days before they are removed. Pro and Agency plans extend that retention window, with the exact length shown in your dashboard. Once a submission ages out, it cannot be recovered or exported, so export or copy anything you need to keep before that window closes.
CSV exports every submission as spreadsheet rows, which suits manual review or importing into a CRM. JSON exports the same data as structured objects with field names attached to each value, which suits a script that will process the submissions programmatically. Both formats come from the same GET /api/export.php endpoint using the format parameter.
Yes. The /api/export.php and /api/submissions.php endpoints both require your account's API key for authentication. This is separate from your form's public submission endpoint, which does not require a key because it is meant to accept anonymous form posts from your site's visitors.
A 402 means the form has already exceeded its plan's monthly submission limit for the current period. Submissions received after the limit was reached were never stored, so they will not appear in any export regardless of format. The count resets on the first of the next month.