All resources
Concepts & fundamentals

What Is a Form Backend? (And When You Need One)

A form backend is the service an HTML form posts to: it receives, stores and routes submissions so a static site can have a working form with no server. How it works, backend vs builder vs endpoint, the main services, and when you need one.

The ShipMyForm team

· Published Jul 7, 2026 · 5 min read

A form backend is a hosted service that receives your HTML form's submissions at a URL, stores them, and routes them to destinations like email, Slack, or a spreadsheet. It does the server-side work a <form> normally needs — without you running a server. You point your form's action at the backend, and it takes over from there.

That one idea is what lets a purely static site — an Astro build on a CDN, a Hugo site on GitHub Pages, a plain HTML page — have a working contact form.

Why static sites need one

A browser can send a form submission anywhere, but something has to be listening on the other end. Traditionally that "something" was your own backend: a PHP script, an Express route, a serverless function. You'd write code to parse the fields, block spam, save the data, and email yourself.

Static sites have no server to run that code. A form backend is the missing half:

  • The form markup stays in your site (you own the HTML and styling).
  • The submission handling moves to a hosted endpoint you don't maintain.

How a form backend works

The flow is short:

  1. A visitor fills in your form and hits submit.
  2. The browser sends a POST request with the field data to the backend's endpoint.
  3. The backend validates and spam-filters the submission.
  4. It stores the submission and fans it out to your configured destinations.
  5. It responds — either a JSON { ok: true } for a fetch request, or a redirect back to a thank-you page for a plain form.

With ShipMyForm, the endpoint is a per-form URL, and wiring it up is a single line:

html
<form action="https://shipmyform.com/f/YOUR_FORM_ID" method="POST">
  <input type="email" name="email" required />
  <textarea name="message" required></textarea>
  <button type="submit">Send</button>
</form>

No fetch, no API route, no keys in your client code. The form's name attributes become the fields you receive.

Form endpoint:

The URL in your form's action is the form endpoint. Each form gets its own, so submissions are grouped per form and can have their own notifications and spam rules. More in what is a form endpoint?

What a good form backend handles for you

The reason not to roll your own is everything around the submission:

JobWhat it means
StorageA searchable inbox of submissions, with CSV/JSON export
Spam filteringHoneypots, rate limiting, and challenges like Cloudflare Turnstile so bots don't flood you
NotificationsEmail on every submission, or a routed message to Slack/Discord
IntegrationsPush submissions to Google Sheets, Notion, Airtable, Zapier, or a webhook
Delivery reliabilityRetries when a downstream service is briefly down
CORS & originsOnly accept submissions from your own domains

Spam handling alone is worth it. If you want the details, see how to stop contact form spam without reCAPTCHA.

Form backend vs. form builder vs. form endpoint

Three terms get used interchangeably and mean different things:

TermWhat it isYou own the markup?Example
Form backendA service that receives submissions from a form you wrote, then stores and routes themYesShipMyForm, Formspree, FormBackend
Form builderA hosted tool that designs and hosts the form for you; you embed or link to itNoTypeform, Google Forms, Tally
Form endpointThe URL a form backend gives you to put in actionn/ahttps://shipmyform.com/f/frm_…

If you have a form already (hand-written, from a framework, or generated by an AI builder) and need it to do something, you want a backend. If you want someone else to design the form and give you a link, you want a builder. Most backends also offer a hosted page for the no-website case, and most builders expose an API, so the categories overlap at the edges; the difference is who owns the HTML.

Form backend services, briefly

The market is a dozen hosted services with the same shape: an endpoint, an inbox, spam filtering, notifications and integrations, priced by monthly submissions. The names you will meet most are Formspree (the incumbent), FormSubmit (email-only, no signup), Basin, Getform/Forminit, Web3Forms, FormBackend, Formcarry and ShipMyForm. They differ on the free tier, on whether spam filtering needs a CAPTCHA, on which integrations are native, and on what happens to submissions the service could not deliver. We compare them feature by feature in the best form backend services and by free-tier limits in free form backends compared.

Build it yourself vs. use a hosted backend

You have two realistic options:

Roll your own (serverless function)Hosted form backend
Setup timeHours to daysMinutes
Spam protectionYou build itBuilt in
Storage & inboxYou build itBuilt in
Email deliverabilityYou manage a sending domainHandled
IntegrationsOne at a time, by handToggle on
MaintenanceOngoingNone
Cost at low volumeFree-ish, plus your timeFree tier, then flat

Rolling your own makes sense when you have genuinely custom server logic. For a contact, waitlist, or feedback form, a hosted backend is faster and you stop maintaining plumbing.

When you might not need one

  • You already run a backend and the form logic is trivial to add.
  • Your framework has first-class form handling you're happy with (e.g. a Next.js Server Action writing to your own database). Even then, a hosted backend still saves you the notification, storage, and spam work.

Getting started

If your site is static and you just want a form that works, a form backend is the shortest path. ShipMyForm is a form backend for static sites: point your action at it and you get an inbox, spam filtering without a CAPTCHA, and email notifications on the free tier. If you do not have an account yet, the endpoint can simply be your email address.

Next: pick your stack — add a contact form to Astro, or compare the options in Formspree alternatives. If an AI agent is doing the wiring for you, what "AI-native" actually means sets out what that asks of a backend.

Frequently asked questions

What is a form backend?
A form backend is a hosted service that receives HTML form submissions at a URL, then stores them and routes them to destinations like email, Slack, or a spreadsheet. It replaces the server-side code you would otherwise write to handle a form.
Do I need a backend for a contact form?
Not your own. A static site can post its form to a hosted form backend, which handles storage, spam filtering, and notifications. You only need to run your own server if you have custom server-side logic that a backend can't cover.
What is a form endpoint?
A form endpoint is the URL your form's action attribute points to. When someone submits the form, the browser sends the field data to that URL, where the form backend processes it.
Is a form backend the same as a form builder?
No. A form builder (like Typeform or Google Forms) gives you a hosted form UI. A form backend leaves the form markup to you and only handles what happens after submit, so it fits developers building their own HTML.

Related guides