Guides/Best API for collecting form submissions

Best API for collecting form submissions

Create a form. Accept submissions. Query results. Three calls.

Updated March 2026

You need to collect structured data. You do not want to manage a database for it. Fair enough. Sutrena is a hosted API for exactly this. Define form fields with JSON, POST submissions from any client, pull results via API or CSV. This guide walks through the full lifecycle: creation to data retrieval.

1. Get an API key

Start with a trial key for testing. For production, create an account and generate a permanent key from the dashboard settings.

# Trial key (no signup):
curl -X POST https://sutrena.com/api/trial

# Or use a permanent key from the dashboard:
# Authorization: Bearer st_live_your_key_here

2. Create a form with custom fields

Define a fields array. Types: text, email, select, textarea, number, date, tel, file. Each field gets a name, label, type, and optional validation like required, min, max, placeholder.

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_abc123" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Inquiry",
    "fields": [
      { "name": "email", "label": "Email", "type": "email", "required": true },
      { "name": "company", "label": "Company", "type": "text", "required": true },
      { "name": "size", "label": "Team Size", "type": "select",
        "options": ["1-10", "11-50", "51-200", "200+"], "required": true },
      { "name": "message", "label": "Message", "type": "textarea", "required": true }
    ],
    "successMessage": "Thanks! We will reach out within 24 hours.",
    "submitLabel": "Send Inquiry"
  }'

3. Submit data from any client

The submit endpoint takes JSON from any origin. No API key needed to submit -- only to create or manage forms. Your frontend code never exposes secrets.

# From curl:
curl -X POST https://sutrena.com/api/forms/frm_xyz789/submit \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "company": "Acme Inc",
    "size": "11-50",
    "message": "Interested in an enterprise plan."
  }'

# From JavaScript:
await fetch("https://sutrena.com/api/forms/frm_xyz789/submit", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    email: "[email protected]",
    company: "Acme Inc",
    size: "11-50",
    message: "Interested in an enterprise plan."
  })
});

4. Retrieve submissions

Fetch all submissions with pagination, or export as CSV on Builder and above. Results come back newest first with timestamps.

# List submissions:
curl https://sutrena.com/api/forms/frm_xyz789/submissions \
  -H "Authorization: Bearer st_trial_abc123"

# Export as CSV (Builder/Pro/Scale):
curl https://sutrena.com/api/forms/frm_xyz789/export \
  -H "Authorization: Bearer st_live_your_key" \
  -o submissions.csv

FAQ

Do I need an API key to submit to a form?

No. The submission endpoint is public. Your frontend never needs a key. You only need one to create forms, manage settings, or read submissions.

What field types are supported?

text, email, textarea, select, number, date, tel, url, file, and hidden. Select fields take an options array. Number fields support min and max. File fields support accept and maxFileSize.

Is there a rate limit on submissions?

Free: 500 per form. Builder: 5,000 per form. Pro: unlimited. There is also a per-IP rate limit on the submit endpoint to prevent abuse.

Can I filter or search submissions?

The submissions endpoint supports pagination with limit and offset. For more filtering, export to CSV and use whatever tool you want. Or build a dashboard with the DSL to slice the data visually.

How long is submission data retained?

Paid plans: indefinitely. Free plan: data persists as long as the account exists. Unclaimed trial accounts auto-delete after 24 hours.

What is Sutrena?

Sutrena is the web runtime for AI agents. Three primitives — pages, forms, and dashboards — accessible through one API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Framework-agnostic. Works from any MCP client or HTTP client.

Get started in two API calls

1. Get a trial key (no auth, no signup)

curl -X POST https://sutrena.com/api/trial

2. Create a form + dashboard from a template

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"templateId": "waitlist", "createDashboard": true}'

Ready to build?

Get a trial API key instantly with no signup, or create an account for the full experience.

Best API for collecting form submissions — Sutrena | Sutrena