Stop building the same form backend twice.

Drop one URL into your form's action=. We handle ingest, spam, files, signed webhooks, and the inbox.

50 free / month · No credit card · Cancel anytime

Built in Germany HMAC-signed webhooks Private encrypted storage

1URL to copy, no SDK.0servers to run, we host.5spam layersHMACsigned webhooks.50free / month, on every plan.

The problem

You shouldn't have to build a backend just to receive a form.

Static sites and SPAs are great - until you need a contact form, an application, an RSVP, a feedback widget, a beta signup. Then suddenly you need infrastructure.

Spin up a serverless function

Set up cold-starts, env vars, regions, retries, and dead-letter queues - for a 200-byte JSON payload.

Babysit spam, forever

Watch your inbox fill with crypto pitches and SEO scams. Glue together honeypots, captchas, and keyword filters.

Hand-roll webhook plumbing

Sign payloads, sign headers, retry with exponential backoff, replay failures, and persist a delivery log nobody'll read.

Spam protection

Spam, gone. By default.

Five layers, ordered cheapest-to-most-expensive. The free stuff catches 95% of garbage; the deep stuff is async so your form stays fast.

  • Honeypot field auto-rejects classic bots
  • Optional captcha for the persistent ones
  • Custom keyword and regex rules per form
  • Reputation scoring on every submission
  • AI moderation on Pro+ plans
Honeypot
Hidden field bots fill in
L1
Captcha
Optional, configurable per form
L2
Custom rules
Keyword & regex, per form
L3
Reputation
Async scoring, classifier
L4
AI moderation
Pro+ - categorize + flag
L5
File uploads

Files, attached. Privately.

Multipart uploads stream straight to private, encrypted storage. Signed download URLs in the dashboard - never public links, never email attachments.

  • Up to 50 GB on Team plan, 5 GB on Pro
  • Per-form size and MIME-type limits
  • Private buckets, encryption at rest
  • Time-bounded signed URLs in the inbox
  • Auto-delete on retention boundary
resume-jane-doe.pdf
412 KB · uploaded 3s ago
Private
  1. Browser POST
    multipart/form-data
  2. Streamed to private S3
    AES-256 at rest, no public URL
  3. Submission in dashboard
    Signed link, 1-hour expiry
  4. Auto-delete on retention
    Per-plan retention window
Webhooks

Webhooks, signed and replayable.

Industry-standard HMAC signatures. Exponential-backoff retries. A delivery log you can replay with one click - for the inevitable day your endpoint went down for an hour.

  • SHA-256 HMAC over the raw request body
  • 7 retries with exponential backoff
  • Delivery log with status, latency, response
  • One-click replay from the dashboard
  • Per-event subscription (submission.created, .flagged)
Verify in 6 lines
import { createHmac } from "node:crypto";

function verify(rawBody, signature, secret) {
  const expected = createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return signature === expected;
}
MCP for agents

Your forms, agent-readable.

Plug Claude, ChatGPT, Cursor, Windsurf, or Zed straight into your workspace. 33 tools across forms, submissions, webhooks, billing, and AI insights — scoped, ability-gated, and team-isolated. Nothing else in the form-backend space ships this.

  • Native Model Context Protocol server (no glue code, no proxies)
  • 33 tools, 9 read-only resources, 8 turn-key prompts
  • Per-token abilities: agents only see what you allow
  • Triage spam, draft autoresponders, audit webhooks — from chat
  • Live with every paid plan; no per-call charges
Plug into Claude, Cursor, Windsurf
// .cursor/mcp.json
{
  "mcpServers": {
    "formspring": {
      "url": "https://formspring.io/mcp-server",
      "headers": { "Authorization": "Bearer your-api-token" }
    }
  }
}
How it works

Three steps. Two minutes. Zero servers.

From sign-up to first webhook delivery, faster than your last cold start.

1

Create a form

Name it, set allowed origins, pick where notifications go. You'll get a unique endpoint URL.

# 1. Create a form in your dashboard
 Forms  New form
  Name:     "Marketing site contact"
  Origins:  "yoursite.com, *.yoursite.com"
  Notify:   "hello@yoursite.com"
2

Point your action

Drop the URL into your HTML form's action, or POST JSON from anywhere.

<!-- 2. Point your form action -->
<form action="https://formspring.io/f/abc123" method="POST"></form>
3

Receive everywhere

Submissions land in the dashboard, your email, your webhooks, and your integrations - at once.

# 3. Receive submissions everywhere at once
 Inbox dashboard       (always)
 Email notifications   (configurable)
 Signed webhooks       (Pro+)
 REST API + tokens     (Pro+)
 MCP server for agents (Pro+)
 Slack / Sheets / etc. (Pro+)
Built for every stack

If it can POST, it can use Formspring.

A plain HTML form, a fetch call, a route handler, an Astro action - pick your weapon.

Pick your stack
<form action="/f/abc123" method="POST">
  <input name="email" type="email"/>
  <button>Subscribe</button>
</form>
Pro+ · AI insights

AI insights, when you actually want them.

Optional. Off by default. When you flip it on, every submission gets a moderation score, a topic, and a suggested reply - running async on a queue so your forms stay snappy.

Categorization

Auto-tag submissions: support, sales, bug, spam, feedback. Filter your inbox without a single rule.

Moderation scoring

A second-opinion vote on top of reputation scoring. Catches the polished spam that slips past keyword rules.

Autoresponder drafts

Per-form tone profile drafts a reply you can send as-is or tweak. Never bot-sounding.

Weekly digest

What came in, what's trending, what's blocked. One email, every Monday.

Integrations

Send submissions wherever you live.

Native integrations for the usual suspects, plus open webhooks, a REST API, and an MCP server for AI agents.

Slack logoSlack
Discord logoDiscord
Google Sheets logoGoogle Sheets
Zapier logoZapier
n8n logon8n
Make logoMake
Airtable logoAirtable
Postmark logoPostmark
Resend logoResend
Notion logoNotion
WHWebhook
APIREST API
MCPMCP server

Don't see yours? Every integration is just a webhook away. Webhook docs →

Security

Boring infrastructure, on purpose.

Built on the parts of the stack that are battle-tested, not the parts that are trendy.

HMAC SHA-256

Every webhook signed with an industry-standard scheme. Compare in constant time.

Encrypted at rest

Files in private encrypted storage with AES-256. No public URLs, ever.

Scoped API tokens

Per-token abilities, per-token revocation, audit log of every key issued.

Captcha + reputation

Bot mitigation that doesn't surveil your users. Optional per form.

GDPR retention

Per-plan, per-form retention windows. Hard-delete jobs run nightly.

PCI-compliant billing

No card data on our servers. Coupons, proration, and tax all upstream.

Audit log

Every admin action recorded with actor, target, IP, and time.

No tracking

No third-party analytics on submissions, no fingerprinting, no resale.

Compared

The honest comparison.

Where Formspring shines, where alternatives might fit better. Pick the one that solves your actual problem.

Feature
Formspring Us
DIY backend
Generic SaaS
Netlify Forms
Time to first submission2 minHours/days5 min10 min
HMAC-signed webhooksIndustry-standardYou build itSometimesEmail only
Webhook replay & delivery logYesNoPartialNo
Private encrypted file storageUp to 50 GBYou build itOften extra8 MB inline
Layered spam (rules + reputation + AI)5 layers-Captcha onlyHoneypot only
Per-form retention controlsYesYesNoNo
Team roles & RBACTeam planYou build itHigher tiers-
AI categorization & autoresponderYesNoNoNo
REST API + scoped tokensYesYesPartialNo
MCP server (agent integration)YesNoNoNo
Lock-inLowNoneVariesHost-coupled

Notes are based on publicly documented features at time of writing. We'll update this as anything changes.

Pricing

Free for hobby, fair for serious work.

No setup fees. No per-seat surprises. Cancel anytime, prorated to the day.

Free

$0

For hobby projects and one-off forms.

  • 50 submissions / month
  • 1 form
  • No file uploads
  • 30-day submission retention
  • 2 team members
Start free
Most popular

Pro

$19/mo

For indie devs, agencies, and growing sites.

  • 5,000 submissions / month
  • Unlimited forms
  • 5 GB file storage
  • Submissions kept forever
  • 2 team members
  • Signed webhooks + replay
  • REST API + scoped tokens
  • MCP server for AI agents
  • AI insights + autoresponder
Choose Pro

Team

$49/mo

For teams that ship together.

  • 25,000 submissions / month
  • Unlimited forms
  • 50 GB file storage
  • Submissions kept forever
  • 10 team members
  • Signed webhooks + replay
  • REST API + scoped tokens
  • MCP server for AI agents
  • Team roles & permissions
  • AI insights + autoresponder
  • agency
Choose Team

Scale

$149/mo

For high-volume teams that need no limits at all.

  • Unlimited submissions per month
  • Unlimited forms
  • Unlimited file storage
  • Submissions kept forever
  • Unlimited team members
  • Signed webhooks + replay
  • REST API + scoped tokens
  • MCP server for AI agents
  • Team roles & permissions
  • AI insights + autoresponder
  • agency
Choose Scale
FAQ

The short answers.

The long ones live in the docs.

Can I cancel any time?
Yes. Cancel from the billing page; we prorate to the day. No retention calls, no exit fees.
Where does my data live?
Submissions and files live in our primary region by default. Files are stored in private, encrypted buckets. Contact us for region-specific deployments on Team plans.
What's the maximum file size?
Up to 25 MB per file by default, configurable per form. Storage caps are per plan: 5 GB on Pro, 50 GB on Team, unlimited on Scale. The Free plan disables file uploads.
Can I use my own domain for the form action?
On Team plans you can serve the ingestion endpoint from a CNAME of your own domain - useful for branded URLs and stricter CSP setups.
I'm coming from Formspree / Basin / Getform. Can I migrate?
Drop-in replacement for the action URL. Most teams migrate by swapping the form's action attribute. Your existing webhook receivers keep working - we use industry-standard HMAC headers.
What languages and frameworks are supported?
Anything that can POST. We've shipped snippets for HTML, React, Vue, Next.js, Astro, SvelteKit, Nuxt, vanilla JS, Python (requests), PHP (curl), and Ruby (Net::HTTP).
Refunds?
Within 30 days of your first paid invoice, no questions. After that, prorated cancellations.

Ship your form in two minutes.

No credit card. 50 free submissions a month, every month.