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

  1. The form's action is the backend's URL, and its method is POST. That URL is the form endpoint.
  2. A visitor fills in the form and presses Submit. The browser sends the fields to the backend directly.
  3. The backend identifies your form from its key, then checks the submission for spam.
  4. It stores what passes and delivers it: by email, and on some plans to a webhook or an integration.
  5. 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.html
<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.

TermWhat it isWhat you write
Form backendA service that receives, filters and delivers submissions.Your own HTML form, pointed at the service.
Form builderA 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 endpointThe 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 account

Form 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.