Skip to main content
If you’re looking for a GET /api/submissions endpoint to poll - it doesn’t exist. Formpaste doesn’t ship a general-purpose REST API for reading submission data. That’s not an oversight; it’s the current shape of the product. There are three real ways to get submissions out, covering the dashboard, bulk export, and agent use cases.

1. The dashboard inbox

Every form has an Inbox tab (and a Spam tab for quarantined submissions) in the dashboard. This is the primary, always-up-to-date view - every submission that clears spam filtering shows up here the moment it arrives, alongside the copy emailed to your destination address. Use this when a human wants to read submissions.

2. CSV export

For bulk or offline use, export submissions as CSV:
  • Per-form: from a form’s Inbox tab, export every submission on that form.
  • Account-wide: from Settings → Data & privacy, export every submission across every form on the account in one file.
Both are owner-scoped - you can only export forms you own - and respect the account’s retention window. See CSV export for the exact column layout. Use this for spreadsheets, one-off analysis, or feeding submissions into a tool that doesn’t need live/programmatic access.

3. The MCP list_submissions tool

For an agent (or any MCP-speaking client) that needs programmatic, on-demand read access, the MCP server exposes list_submissions - the closest thing to an API for reading submissions, and the one that’s actually real:
It returns inbox/spam counts plus a page of submissions, metadata-only by default (id, created_at, folder, status) - pass includeContent: true to also get the submitted fields (name, email, message, etc.), which is opt-in specifically because that data is a visitor’s PII, not the form owner’s own. See list_submissions for the full input/output schema. Use this when an agent needs to check “did anyone submit today?” or summarize recent messages without a human opening the dashboard.

What doesn’t exist

There is no GET /api/submissions, no GET /api/forms/{id}/submissions, no polling REST endpoint, and no webhook-independent “submissions API” beyond the three paths above. If you need submission data to flow into your own system automatically as it arrives - rather than being pulled on demand - that’s what webhooks (Pro) are for: a signed POST fires for every delivered submission in real time.

list_submissions

Full schema for the MCP tool.

Webhooks

Push, not pull - real-time delivery to your own endpoint.

CSV export

Bulk export, per-form or account-wide.

Submission history

Retention windows that bound all three retrieval paths.