Skip to content

Postbag vs Formspark: signed routing vs a simple one-time-payment form endpoint

Formspark is a clean, cheap form-to-email endpoint with a one-time price. Postbag trades the flat price for a durable outbox, signed webhooks, routing and self-hosting.

Last updated

Summary: Formspark has a real form-CRUD API and excellent spam options, and its webhooks are explicitly unsigned. Postbag signs every webhook, records every delivery attempt, routes many forms into one schema, and runs as one container you can host yourself.

Feature comparison between Postbag and Formspark
Capability Postbag Formspark
Free tier 5 forms, 1,000 submissions/month, 5 destinations, 90-day retention (paid plans not yet on sale) 250 submissions, 10 forms (Formspark pricing)
Entry paid Not yet on sale One-time bundle: 50,000 submissions / 100 forms (currently $25)
Management API Full /v1 API for every object (forms, schemas, streams, mappings, destinations, routes, deliveries, events), OpenAPI generated from the live routes Yes: forms CRUD with scoped keys
Webhooks Yes, HMAC-SHA256 signed (Postbag-Signature t=…,v1=…), retried with backoff, dead-lettered and retryable Yes, unsigned ("Formspark does not currently sign webhook requests")
Email Yes (Resend), Reply-To from the submission Yes
Chat destinations Telegram today; Slack and Discord next Slack
Spam Honeypot, per-form rate limit, origin allowlist, Cloudflare Turnstile; spam is stored and reversible, never dropped OOPSpam, Botpoison, Turnstile, reCAPTCHA, hCaptcha, honeypot, spam words
File uploads Not yet (text fields only; 256 KB) Via Uploadcare
Self-hosting / source Yes: one Docker image + Postgres, same image as the hosted product No
Schemas and drift Versioned, immutable form and stream schemas; observe / enforce / managed modes; drift detection and inference No versioned schemas
Many sites → one destination Projects, tags, streams (many forms → one schema → one destination), delivery windows, digests Workspaces and team invites; per-form config
For AI agents llms.txt, openapi.json, GET /v1/me, POST /v1/quickstart, _test submissions with delivery ids to poll, errors with hint + docs, Idempotency-Key, if_exists: return No llms.txt, MCP or CLI found

Formspark facts checked on against: formspark.io/pricing, API reference, Webhooks (unsigned). Prices and quotas change; verify on their pages. Tagline quoted: "a simple way to save information from your website via forms without having to set up a server".

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

  • Your downstream system must verify that a webhook really came from the form backend.
  • You need retries you can see and replay, and a record of every attempt.
  • Many forms should map onto one shape for one partner.
  • Self-hosting or agent-driven setup matters.

What Postbag does differently, in one paragraph

Postbag treats a submission as a database row before anything else and delivery as an outbox drained by a worker, so every attempt is recorded and retryable and nothing is dropped, including spam. It adds streams, so many forms with different field names map onto one versioned schema and go to one partner or CRM with windows and digests. Every webhook is signed. The whole product is one API described by /openapi.json and /llms.txt, so an AI agent can 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

Does Formspark sign webhooks?
Its documentation says it does not currently sign webhook requests. Postbag signs every webhook and system webhook with HMAC-SHA256 when a secret is configured.
Which is cheaper?
For a small number of forms Formspark's one-time bundle is hard to beat. Postbag's free plan covers 5 forms and 1,000 submissions a month; paid plans are not yet on sale.

Your first form is three minutes away.

Sign up, get a submit URL, point a form at it. The first submission lands in your inbox and your email. Everything else appears when you need it.