Quickstart: collect form submissions in 2 minutes

Collect your first form submission in about two minutes. Create a form, point your HTML form's action at its endpoint, and submit.

2 minUpdated

SiteBackend gives any static site a form backend. You create a form in the dashboard, copy its endpoint URL, and use it as your HTML form's action. No server code, no JavaScript required.

Create an account and a site

Sign up and click Add site in the sidebar. A site groups the forms that live on one website, for example example.com.

Create a form

Open your site and click New form. Every form gets its own endpoint:

https://api.sitebackend.com/forms/YOUR_FORM_ID

Copy it from the form's page with the Copy button.

Point your form at the endpoint

Set the endpoint as your form's action and use method="POST". Give every input a name: that's the key it's stored under.

contact.html
<form action="https://api.sitebackend.com/forms/YOUR_FORM_ID" method="POST">
  <label>
    Email
    <input type="email" name="email" required />
  </label>
  <label>
    Message
    <textarea name="message" required></textarea>
  </label>
 
  <!-- Honeypot: hidden from people, filled in by bots -->
  <input type="text" name="_gotcha" tabindex="-1" autocomplete="off" style="display:none" />
 
  <button type="submit">Send</button>
</form>

Send a test submission

Open the page, fill in the form and submit it. You'll land on a thank-you page, and the submission shows up in the form's inbox in your dashboard straight away.

What happens when someone submits?

  1. SiteBackend checks that the form is active and that the request comes from an allowed origin.
  2. Spam checks run: the honeypot field, an optional captcha, a content filter and a rate limit of 5 submissions per minute per visitor.
  3. The submission is stored, the sender is added to your contacts, and notifications are queued for your email, Slack, Discord, webhooks or other channels.
  4. The visitor is redirected to a thank-you page, or to your own URL if you set one.

How do I submit with JavaScript instead?

Send the same fields as JSON and ask for a JSON response. You get { "ok": true, "id": "…" } back instead of a redirect.

const res = await fetch("https://api.sitebackend.com/forms/YOUR_FORM_ID", {
  method: "POST",
  headers: { "Content-Type": "application/json", Accept: "application/json" },
  body: JSON.stringify({ email: "[email protected]", message: "Hello!" }),
});
const result = await res.json(); // { ok: true, id: "…" } or { ok: false, error: "…" }

Next steps

  • Lock the form to your domain with allowed origins.
  • Send people to your own page after submitting with a redirect URL.
  • Get notified by email, Slack, Discord or webhook with notifications.
  • See every field, status code and response in the endpoint reference.
  • Collect testimonials from your customers and show them on your site with the testimonials quickstart.