The short version
Same starting point. Different route after submit.
Formspark has a form API and strong spam options, but its webhooks are explicitly unsigned. Postbag can sign them when you configure a secret, keeps sending attempts visible, helps many sites feed one place, 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 | Postbag | Formspark |
|---|---|---|
| Free tier | 5 forms, 1,000 submissions/month, 5 destinations, 90-day retention | 250 submissions, 10 forms (Formspark pricing) |
| Entry paid | Pro $15/month ($12/month billed yearly); Team $49/month ($39/month billed yearly) | One-time bundle: 50,000 submissions / 100 forms (currently $25) |
| Management API | Your agent can create, inspect and manage forms from one API | Yes: forms CRUD with scoped keys |
| Webhooks | Yes; HMAC-signed when a secret is configured, with visible retries | Yes, unsigned ("Formspark does not currently sign webhook requests") |
| Yes (Resend), Reply-To from the submission | Yes | |
| Chat destinations | Telegram today; Slack and Discord next | Slack |
| Spam | Honeypot, rate limits, approved origins and Cloudflare Turnstile; flagged messages stay available to review | OOPSpam, Botpoison, Turnstile, reCAPTCHA, hCaptcha, honeypot, spam words |
| File uploads | Not yet (text fields only; 256 KB) | Via Uploadcare |
| Self-hosting / source | Yes, the same product you use in the cloud | No |
| Keeping fields tidy | Keeps changing field names clear and catches surprises before they spread | No tracked history for field rules |
| Many sites, one place | Keep forms from many sites together, then send each one where it belongs | Workspaces and team invites; per-form config |
| For AI agents | Your agent can set up, test and manage a form without a browser | No llms.txt, MCP or CLI found |
On a small screen, the table scrolls sideways so the full wording stays readable.
Source note Formspark facts checked on against: formspark.io/pricing, API reference, Webhooks (unsigned). Prices and quotas change, so check the vendor pages before deciding. Tagline quoted: "a simple way to save information from your website via forms without having to set up a server".
The practical choice
Both can be the right answer.
Choose Formspark if
- You want a flat one-time price for a handful of simple forms.
- You need uploads or a wide choice of captcha providers right now.
Choose Postbag if
- The place receiving a message needs to know it really came from your form service.
- You want sending attempts you can see and send again.
- Many forms should feed one partner without manual sorting.
- Self-hosting or agent-run setup matters.
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.