All resources
Concepts & fundamentals

What Is a Form Endpoint? (And How to Use One)

A form endpoint is the URL an HTML form submits to. Here's how form endpoints work, how they differ from a form backend, and how to get one for free.

The ShipMyForm team

· 4 min read

A form endpoint is the URL an HTML form submits to — the address in the form's action attribute. When a visitor hits submit, the browser bundles up the field values and sends them to that URL as an HTTP request. Whatever is listening at the endpoint — your own server code, or a hosted form backend — receives the data and decides what happens next: store it, email it, forward it to Slack or a spreadsheet.

That's the whole idea. The endpoint is the address; everything interesting happens in the service behind it.

How a form endpoint works

Take the smallest possible form:

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>

Three things define how the submission travels:

  1. action is the endpoint — the URL the data goes to.
  2. method="POST" tells the browser to send the fields in the request body (forms that change or create data should always POST, never GET).
  3. Each name attribute becomes a field in the submission. Here the endpoint receives email and message; add <input name="phone"> and it receives phone too, no configuration needed.

The endpoint processes the request and responds — usually by redirecting the visitor to a thank-you page, or by returning JSON if the form was submitted with JavaScript. If you'd rather submit without a page reload, the same endpoint works with fetch: see how to submit a form with fetch.

Form endpoint vs. form backend vs. form builder

These three get mixed up constantly, and they're different layers:

TermWhat it isWhat you own
Form endpointThe URL that receives submissionsJust an address
Form backendThe hosted service behind the endpoint: storage, spam filtering, notifications, integrationsYour HTML; the service runs the rest
Form builderA tool that hosts the form UI itself (Typeform, Google Forms)Nothing — the form lives on their page

So "form endpoint" and "form backend" describe the same setup from two angles: the endpoint is what you paste into your action, the backend is the machinery behind it. If you're a developer who wants to keep your own markup and styling, you want an endpoint backed by a form backend — not a form builder that replaces your form.

Where do you get a form endpoint?

You have two options.

Build one. Any URL that accepts a POST request can be a form endpoint: a PHP script, an Express route, a serverless function. You'll then write the parts around it — parsing, validation, spam filtering, storage, email delivery — which is real ongoing work. The build vs. buy breakdown covers when that's worth it.

Use a hosted one. A form backend gives you a ready-made endpoint per form. With ShipMyForm, you create a form, copy its endpoint URL, and point your action at it — the free tier includes 100 submissions a month, spam filtering, and email notifications. Your form works on any static site, with no server and no API route.

One endpoint per form:

Hosted backends issue a unique endpoint for each form you create, so your contact form, waitlist, and feedback form each get their own inbox, notifications, and spam rules — instead of everything landing in one pile.

Is it safe to expose an endpoint in your HTML?

Yes — and it has to be. The browser needs the URL to send the submission, so a form endpoint is public by design, the same way any page URL is. Exposing it is not a security hole, because a good endpoint protects itself server-side:

  • Spam filtering — honeypots, rate limiting, and optional challenges like Cloudflare Turnstile stop bots that find the URL.
  • Allowed domains — the endpoint only accepts submissions that come from your site, so someone can't quietly reuse it on theirs.
  • No secrets in the client — an endpoint URL is not an API key. If a setup asks you to put a private key in your HTML or JavaScript, that's the actual risk.

This is precisely why endpoints suit static sites: everything sensitive lives behind the URL, not in your code.

What a good form endpoint should handle

The URL is the easy part. When you're choosing (or building) the service behind it, look for:

  • Storage — a searchable inbox of submissions, with export.
  • Notifications — email on every submission, or routed to Slack.
  • Spam protection — invisible by default; your visitors shouldn't solve puzzles.
  • Integrations — push submissions to Google Sheets, Notion, webhooks, or automation tools like n8n.
  • Redirects and JSON responses — a thank-you redirect for plain HTML forms, JSON for fetch submissions.
  • File uploads — if your form collects attachments, the endpoint has to store them.

Getting started

If you just want a working form on a static site, the shortest path is a hosted endpoint: create a free form, paste the endpoint into your action, and submissions land in your inbox — spam-filtered, stored, and emailed to you.

To go deeper on the machinery behind the URL, read the pillar guide: what is a form backend? Or jump straight to your use case — send HTML form submissions to email, or generate the markup with the free contact form generator.

Frequently asked questions

What is a form endpoint?
A form endpoint is the URL that receives an HTML form's submissions — the address in the form's action attribute. When someone hits submit, the browser sends the field data to that URL as a POST request, and whatever is listening there processes it.
Is a form endpoint the same as a form backend?
Not quite. The endpoint is just the URL; the form backend is the service behind it that stores submissions, filters spam, and sends notifications. A hosted form backend gives you a ready-made endpoint so you don't have to build the service yourself.
How do I get a form endpoint for free?
Sign up with a hosted form backend, create a form, and it gives you a unique endpoint URL to paste into your form's action attribute. ShipMyForm's free tier includes 100 submissions a month with spam filtering and email notifications — no credit card or server required.
Is it safe to expose a form endpoint in my HTML?
Yes — form endpoints are public by design, just like any URL a browser posts to. Good ones are protected server-side with spam filtering, rate limiting, and allowed-domain checks, so exposing the URL doesn't expose you to abuse. Never put private API keys in your HTML, though; an endpoint URL is not a secret, but a key is.
Can I use a form endpoint with React, Next.js, or Astro?
Yes. An endpoint is framework-agnostic: point a plain <form action> at it, or send the data with fetch from any JavaScript code. That's what makes hosted endpoints popular for static and JAMstack sites — the form works without an API route or server.

Related guides