Skip to content

Postbag vs Formspree: forms that stay put and go where you need them

Formspree is a good fit for one site and one inbox. Postbag gives your forms more places to go.

Last updated

The short version

Same starting point. Different route after submit.

Both accept HTML forms and send email. Formspree keeps its API and webhooks on paid tiers and is closed source. Postbag gives your agent the full setup from the free plan, keeps messages on the record, and can run on your own infrastructure.

The evidence

What each service says it does.

These are not ratings. They are the practical details that tend to matter after a Form is live.

Capability comparison between Postbag and Formspree
Capability Postbag Formspree
Free tier 5 forms, 1,000 submissions/month, 5 destinations, 90-day retention 50 submissions/month, unlimited forms, 30-day history; API and uploads not on free (Formspree plans page)
Entry paid Pro $15/month ($12/month billed yearly); Team $49/month ($39/month billed yearly) Personal from $15/month; API and webhooks from Pro ($30/month) per third-party pricing roundups (vendor page blocks direct fetch)
Management API Your agent can create, inspect and manage forms from one API Per-form API keys (read-only and master) on Pro+; `formspree.json` + CLI for form definitions
Webhooks Yes; HMAC-signed when a secret is configured, with visible retries Yes on Pro/Business; signed with Formspree-Signature over the time and message body
Email Yes (Resend), Reply-To from the submission Yes
Chat destinations Telegram today; Slack and Discord next Slack, Telegram, Discord (plugins)
Spam Honeypot, rate limits, approved origins and Cloudflare Turnstile; flagged messages stay available to review Formshield ML, reCAPTCHA, Turnstile, honeypot
File uploads Not yet (text fields only; 256 KB) Yes, paid plans
Self-hosting / source Yes, the same product you use in the cloud No; legacy open-source repo archived 2023
Keeping fields tidy Keeps changing field names clear and catches surprises before they spread Rules engine on Business; field rules are not kept as numbered releases
Many sites, one place Keep forms from many sites together, then send each one where it belongs Projects; per-form integrations
For AI agents Your agent can set up, test and manage a form without a browser CLI; no llms.txt or MCP found

On a small screen, the table scrolls sideways so the full wording stays readable.

Source note Formspree facts checked on against: formspree.io/plans, Verify webhook signatures, The Formspree CLI. Prices and quotas change, so check the vendor pages before deciding. Tagline quoted: "a form backend, API, and email service for HTML & JavaScript forms".

The practical choice

Both can be the right answer.

Choose Formspree if

  • You want the most established name and a large plugin catalogue.
  • You need file uploads today.
  • You are happy paying per-site for the API tier.

Choose Postbag if

  • Several sites should feed one inbox, CRM or partner.
  • You want every message and sending attempt kept where you can see it.
  • Your agent should set the form up end to end.
  • You want to run the same product yourself.

What Postbag keeps hold of

The Submission does not disappear into the notification.

Postbag treats a Submission as a database row before anything else and Delivery as an outbox drained by a worker. Each Delivery keeps its retry count and latest outcome, including for spam. Streams let many Forms with different field names map onto one versioned Schema and reach one partner or CRM with windows and digests. Add a secret and Postbag signs each webhook attempt. The same /openapi.json and /llms.txt describe the API an agent uses to create, verify and route a Form without a browser. And it ships as one Docker image plus Postgres, so the hosted product and a self-hosted install are the same thing.

Questions, answered

Is Postbag a Formspree alternative?
Yes. Both give HTML forms somewhere to send messages. Postbag is for teams that want every message kept, more destinations, an agent-run setup, or the option to run it themselves.
Can I migrate from Formspree?
Change the form's action to your Postbag submit URL and keep your field names. Postbag's honeypot field is _gotcha by default, the same name Formspree uses, and _redirect / _subject behave as you would expect. There is no import of historical submissions.

Give the form job to your agent.

It can build, wire and test the form before you even sign up. Claim it when it's worth keeping.