The short version
Same starting point. Different route after submit.
Netlify Forms is found at deploy time and only works on Netlify-hosted sites. Postbag works with any host, gives your agent one place to manage forms, signs notifications, 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 | Postbag | Netlify Forms |
|---|---|---|
| Free tier | 5 forms, 1,000 submissions/month, 5 destinations, 90-day retention | Legacy plans: 100 submissions/month + 10 MB uploads; credit-based plans: "Forms are free and unlimited" (Netlify docs) |
| Entry paid | Pro $15/month ($12/month billed yearly); Team $49/month ($39/month billed yearly) | Level 1 (1,000 submissions) on legacy plans; price not published in docs |
| Management API | Your agent can create, inspect and manage forms from one API | Netlify API can read submissions; forms are detected at deploy, no form-management API |
| Webhooks | Yes; HMAC-signed when a secret is configured, with visible retries | Outgoing POST notifications; JWS-signed when a secret is set |
| 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 | Akismet (automatic), honeypot, reCAPTCHA v2 |
| File uploads | Not yet (text fields only; 256 KB) | Yes, 8 MB per request |
| 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 |
| Many sites, one place | Keep forms from many sites together, then send each one where it belongs | Per site |
| Tied to a host | None | Only works on Netlify-hosted sites |
| For AI agents | Your agent can set up, test and manage a form without a browser | No forms-specific agent surface found |
On a small screen, the table scrolls sideways so the full wording stays readable.
Source note Netlify Forms facts checked on against: Netlify Forms setup, Forms usage and billing, Spam filters. Prices and quotas change, so check the vendor pages before deciding. Tagline quoted: "serverless form handling … without extra API calls or additional JavaScript".
The practical choice
Both can be the right answer.
Choose Netlify Forms if
- Every site you run is on Netlify and you want zero extra services.
- You need uploads and Akismet with no setup.
Choose Postbag if
- Your sites live on different hosts, or might move.
- You need a management API, webhook signing, or routing across sites.
- An agent is building the site and should wire the form itself.
- You want to self-host.
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.