Getting started

SubmitBee is a form backend. You point your HTML form at a SubmitBee URL, and we handle the rest — storing submissions, sending you email notifications, and giving you a dashboard to manage everything.

  1. Create an account
  2. Create a form in your dashboard
  3. Copy the endpoint URL
  4. Set it as your form's action attribute

That's it. No backend code, no server, no npm packages.

Form setup

Set your form's action to your SubmitBee endpoint URL and method to POST. Every input, select, and textarea with a name attribute will be captured.

<form action="https://submitbee.com/f/your-form-id" method="POST">
  <input type="text" name="name" required>
  <input type="email" name="email" required>
  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>

Fields without a name attribute are ignored. Use clear, descriptive names — they show up as labels in your email notifications and dashboard.

Submissions

When someone submits your form, SubmitBee will:

  1. Store the submission in your dashboard
  2. Send an email notification to the address you configured
  3. Redirect the user to a thank-you page (or a custom URL you specify)

All submissions are available in your dashboard where you can browse, search, and review them.

Spam protection

Add a hidden honeypot field to your form. Real users never see it, but bots will fill it in automatically. If the field has a value, the submission is silently discarded.

<!-- Add this hidden field to your form -->
<input type="hidden" name="_gotcha" style="display:none">

The honeypot is optional but recommended. It catches most automated spam with zero friction for your users.

Custom redirects

By default, users are redirected to a generic SubmitBee thank-you page after submission. To redirect them to your own page, add a hidden _next field:

<input type="hidden" name="_next" value="https://yoursite.com/thanks">

The user will be redirected to that URL after their submission is processed.

AJAX / JSON

You can submit forms with JavaScript instead of a traditional form post. Send a POST request with JSON or form data:

fetch("https://submitbee.com/f/your-form-id", {
  method: "POST",
  headers: { "Content-Type": "application/json", "Accept": "application/json" },
  body: JSON.stringify({
    name: "Sarah Chen",
    email: "sarah@example.com",
    message: "Hello!"
  })
})
.then(res => res.json())
.then(data => console.log(data));
// { "ok": true, "message": "Submission received" }

Include the Accept: application/json header to get a JSON response instead of a redirect.