conForm / Docs
A form backend for static websites
Your site is static — GitHub Pages, Netlify, Cloudflare Pages, an S3 bucket, a Vite build. You need a contact form that actually delivers. conForm is the missing backend: one POST creates a permanent endpoint, and submissions arrive in your inbox. No account, no server to run, no submission database anywhere.
Create an endpoint
curl https://api.conform.centrst.com/v1/routes \
--request POST \
--header 'Content-Type: application/json' \
--data '{"email":"[email protected]","alias":"Contact"}'
The response contains your permanent endpoint. One human step remains: the destination inbox receives a verification email that must be confirmed before delivery starts. The endpoint URL never changes while pending, so you can install the form immediately.
Install it
<form action="https://api.conform.centrst.com/f/cfm_7K4P9X2M8RWD3JNH" method="post">
<!-- your fields -->
<button type="submit">Send</button>
</form>
Any ordinary HTML form works — no client library, no framework requirement. Ready-made accessible forms for every stack are one request away: see the recipes below or fetch them from the API directly.
Prove it works
curl -sS -X POST https://api.conform.centrst.com/f/cfm_7K4P9X2M8RWD3JNH \
-d 'name=Test&[email protected]&message=Hello from a test&_test=true'
A _test submission is delivered for real with a [Test] subject, and the response answers test: true as machine-checkable proof.
Recipes
- Plain HTML — the zero-JavaScript baseline
- JavaScript (fetch) · Vite
- React · Next.js · Vue · Svelte · Astro
Go deeper
- API reference — endpoints, error codes, webhooks, idempotency
- For AI agents — the full autonomous workflow, including the MCP server
- Self-hosting — the same MIT Worker in your own Cloudflare account
- Trust — exactly where your data exists, and where it never does
- vs Web3Forms · vs Formspree