Features

Submissions API

Read your submissions programmatically with a REST endpoint.

Reading submissions over the API is part of Pro and Business. Export to CSV or JSON from the dashboard works on every plan.

Generate an API key in your dashboard settings, then read submissions from your own code — for a custom dashboard, a nightly export, or piping into a CRM. The API is read-only.

terminal
curl "https://formemailapi.com/api/v1/submissions?limit=20" \
  -H "Authorization: Bearer fp_your_api_key"
ParameterDefaultDescription
form_idLimit results to one form — the last segment of that form's endpoint. Omit to read every form on the account.
limit50How many rows to return. Maximum 200.
offset0Row offset for paging.
sinceISO 8601 timestamp. Only return submissions newer than this.
include_spam0Set to 1 to include submissions flagged as spam.

What comes back

response
{
  "success": true,
  "total": 128,
  "limit": 50,
  "offset": 0,
  "submissions": [
    {
      "id": "019fd955-982a-77c6-8144-c35f077f6b9e",
      "form_id": "a3k9x2m1",
      "data": { "name": "Ada Lovelace", "email": "ada@example.com" },
      "subject": "New submission from Website contact",
      "from_email": "ada@example.com",
      "from_name": "Ada Lovelace",
      "attachments": [],
      "is_spam": false,
      "created_at": "2026-08-03T10:24:11.482Z"
    }
  ]
}

total is the count matching your filters, not the number returned — page through it with limit and offset. Submission ids are UUIDs, and form_id is the last segment of the form's endpoint — the same string that sits in your HTML — so the two sides join up without you storing a mapping.

The API key grants read access to every submission on the account. Keep it server-side — never ship it in browser JavaScript.