What is a form backend?
A form backend is a service that receives the data from an HTML form, checks it for spam and delivers it, usually by email and to other tools. A static website has no server code to do this, so its form posts to the backend instead. The backend replaces the server you would otherwise write and run yourself.
Last updated
Why a static site needs a form backend
A static site is a set of files: HTML, CSS and JavaScript that a host serves as they are. Hugo, Jekyll, Astro, Eleventy and hand-written HTML all end up this way. You can write the markup for a form in any of them, but a submission is a POST request, and something has to receive it, check it and pass it on. A static host does not run your code when a request arrives, so the form has nowhere to go.
A form backend is that missing piece, run by someone else. You keep your static site and point the form at the backend. Our static form page covers the site side of this in more detail.
How a form backend works
- The form's
actionis the backend's URL, and itsmethodisPOST. That URL is the form endpoint. - A visitor fills in the form and presses Submit. The browser sends the fields to the backend directly.
- The backend identifies your form from its key, then checks the submission for spam.
- It stores what passes and delivers it: by email, and on some plans to a webhook or an integration.
- The visitor lands on a thank-you page, or your JavaScript receives a response.
This is the smallest working form for Static Forms. Replace YOUR_API_KEY with the key from your dashboard:
<form action="https://api.staticforms.dev/submit" method="POST">
<!-- Your form's API key, from the Static Forms dashboard -->
<input type="hidden" name="apiKey" value="YOUR_API_KEY">
<label for="email">Email</label>
<input type="email" id="email" name="email" required>
<label for="message">Message</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Send</button>
</form>The quick start walks through signup and testing, and the plain HTML guide shows a complete page. Submissions go to https://api.staticforms.dev/submit.
What a good form backend handles
Receiving a POST is the easy part. The work is in everything around it:
- Spam protection
- Public forms attract bots. A backend can drop submissions that fill a hidden honeypot field, run a spam filter and verify a CAPTCHA. On Static Forms, the Free plan includes a spam filter, a honeypot field and Google reCAPTCHA v2; Cloudflare Turnstile, hCaptcha, ALTCHA and reCAPTCHA v3 start on Starter.
- Email delivery
- The submission has to reach a real inbox instead of the spam folder. That takes a sending service and care with sender authentication, bounces and retries.
- Storage
- Email alone is easy to lose. A backend keeps submissions in an inbox you can search, so a lost or filtered email is not a lost lead.
- File uploads
- Forms that accept attachments need somewhere to put the files and limits on their size. On Static Forms, file uploads start on Starter.
- Redirects and responses
- After a plain HTML submission the visitor needs a thank-you page, and a form submitted with JavaScript needs a response it can read. On Static Forms, a hidden redirectTo field sends the visitor to your page, and an Accept: application/json header returns JSON.
- Webhooks and integrations
- A backend can pass each submission to other systems, such as your own API or a chat tool. On Static Forms, webhooks start on Starter.
- Privacy and GDPR
- A form backend handles personal data on your behalf, so ask where it stores submissions, which sub-processors it uses and whether it offers a data processing agreement. Static Forms documents these in its GDPR docs and publishes a DPA.
See the GDPR docs for how Static Forms handles personal data.
Form backend vs form builder vs form endpoint
The three terms are often used as if they meant the same thing. They do not.
| Term | What it is | What you write |
|---|---|---|
| Form backend | A service that receives, filters and delivers submissions. | Your own HTML form, pointed at the service. |
| Form builder | A tool where you design the form on its own screen, then embed or link it. | Little or no HTML. The builder supplies the form. |
| Form endpoint | The URL a form backend gives you, which goes in the form's action attribute. | The action attribute. The endpoint is one part of a backend, not a whole one. |
Build your own or use a hosted form backend
Both are reasonable. We make Static Forms, so read this as our view.
Building your own
A serverless function that reads the POST and sends an email is a small amount of code, and you control every detail without paying a form service. The cost shows up later: spam filtering, email that reaches the inbox, bounces, a place to keep submissions, and keeping all of it working as your site and dependencies change. It suits a single form on a site where you already run server code.
Using a hosted form backend
You paste one URL and a key and the rest is handled. You trade some control for time, your forms keep working if you change hosts, and you depend on another company. Plans have submission limits, so check them against your volume. Static Forms' free plan covers 250 submissions every 30 days; paid plans start at $4/month billed annually. Other services are compared on the alternatives page.
Your host's built-in forms are a third route if the host offers them. They only work for sites that host builds, so moving hosts means moving your forms too.
Try a form backend
The Free plan takes 250 submissions every 30 days with no credit card. Details are on the pricing page.
Create a free accountForm backend FAQ
- What is a form backend?
- A form backend is a service that receives the data from an HTML form, checks it for spam and delivers it, usually by email and to other tools. A static website has no server code to do this, so its form posts to the backend instead. The backend replaces the server you would otherwise write and run yourself.
- Do I need a form backend for a static site?
- You need something to receive the form's POST request, and a static site has no server of its own. That can be a form backend service, a form feature built into your host, or a small server or serverless function you write and run.
- Is a form backend the same as a form builder?
- No. A form builder is where you design a form and get it hosted or embedded. A form backend only receives submissions from a form you wrote yourself. Some products do both.
- How does a form backend work?
- The form's action attribute points at the backend's URL with the POST method. When a visitor submits, the browser sends the fields to the backend, which checks for spam, stores the submission and delivers it by email, webhook or an integration.
- Is there a free form backend?
- Yes, several services have a free plan. The Static Forms Free plan covers 250 submissions every 30 days without a credit card. Limits differ from service to service, so check each plan against your expected volume.
- Is it safe to put the API key in my HTML?
- The key sits in public HTML by design, so treat it as an address and not a password. With Static Forms it can submit to your form but cannot read submissions or change settings. The page on form endpoints explains what protects it.









