splitforms.com
CONTACT FORM BACKEND

Contact form backend for any website.

A contact form backend is the server-side endpoint that receives your form's POST request, filters spam, stores the message, and emails you — without PHP, SMTP, or a server route. splitforms is a hosted contact form backend: point your form's action (or a fetch/JSON call) at https://splitforms.com/api/submit with your access key, and every submission arrives filtered, stored, and emailed within seconds.

Get your free access key Pick your framework
POSTContact form endpoint
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
  <input type="hidden" name="redirect" value="https://example.com/thanks" />

  <input name="name" autocomplete="name" required />
  <input name="email" type="email" autocomplete="email" required />
  <textarea name="message" required></textarea>

  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off" />
  <input type="hidden" name="form_loaded_at" value="" />
  <script>document.currentScript.previousElementSibling.value = Date.now();</script>

  <button type="submit">Send message</button>
</form>
01Backend responsibilities

What your contact form backend needs to do

A contact form only looks simple. The backend behind it has to receive the request, filter spam, keep a copy, and get the message to a human — reliably, on every submission.

Receive

Accept HTML, FormData, JSON, and multipart submissions from your website — same endpoint, same access_key.

Filter

Block bots with a botcheck honeypot and a form_loaded_at time-trap, then run server-side content checks and IP rate limiting.

Store

Keep every submission searchable in a dashboard, with CSV/XML/PDF exports on Starter and above.

Route

Send owner email notifications on every plan, and signed webhooks or 1-click integrations on Starter and above.

02Setup

How to connect a contact form to a backend

No server, no SMTP setup. These are the same six steps whether you paste the form into raw HTML, a React component, or a WordPress custom-HTML block — see the HTML, React, or Next.js copy-paste examples.

  1. Create a free access key

    Sign up and create a form in the splitforms dashboard — no credit card required. Every form gets its own access_key on the embed tab.

  2. Point your form at the endpoint

    Set the form action to https://splitforms.com/api/submit (or POST JSON from a fetch() call) and include access_key as a hidden field.

  3. Arm the spam fields

    Add the botcheck honeypot input, left empty, and a form_loaded_at hidden field set to Date.now() on load. Bot and instant submissions get filtered before they reach you.

  4. Set a redirect (optional)

    Add a redirect field with a thank-you page URL if you want a classic HTML post-submit redirect, or read the JSON response yourself from fetch().

  5. Send a test submission

    Submit the form once and confirm the message shows up in your inbox and in the dashboard.

  6. Connect a destination (optional)

    On Starter and above, forward every submission to a signed webhook or a 1-click integration — Google Sheets, Notion, Airtable, Slack, Discord, Telegram, or Mailchimp.

Step 6 forwards submissions with an HMAC-SHA256 signed request in a single attempt (no automatic retries) — see the webhooks docs. Need higher volume? Compare plans.

04FAQ

Contact form backend FAQ

What is a contact form backend?

A contact form backend is the server-side endpoint that receives your form's POST request, filters spam, stores the message, and emails you — the part you'd otherwise build with PHP mail(), SMTP, or a server route. splitforms is a hosted contact form backend: point your form's action (or a fetch/JSON call) at https://splitforms.com/api/submit with your access_key, and every submission arrives filtered, stored, and emailed automatically.

Do I need PHP or SMTP for a contact form backend?

No. A hosted backend lets your form submit directly to an HTTPS endpoint. You do not need a PHP mail script, SMTP credentials in your app, or your own server route — the endpoint is the backend.

Can I use this with React, Next.js, Webflow, or static HTML?

Yes. The same endpoint works from a native HTML form, a React or Next.js submit handler using fetch(), Webflow custom code, or any static site. See the framework-specific copy-paste examples for HTML, React, and Next.js.

Does the backend prevent contact form spam?

Yes. Every plan, including Free, includes a botcheck honeypot field, a form_loaded_at time-trap that rejects instant bot submissions, server-side content heuristics, and IP rate limiting (6 submissions/min, 20 per 15 minutes). You can also restrict a form to allowed domains or add your own reCAPTCHA v2 key.

Is a contact form backend free to use?

Yes. The Free plan includes unlimited forms, 500 submissions/month, owner email notifications, spam filtering, and dashboard storage — no card required. Paid plans start at $1/mo for 1,000 submissions and add CSV/XML/PDF exports, webhooks, integrations, and an auto-responder.

Can I submit the form as JSON instead of a plain HTML POST?

Yes. The endpoint accepts an HTML form action, a fetch() call with a JSON body, or multipart/form-data for file uploads — same access_key, same response. See the contact form API page for request/response examples.

Can I customize the email subject or reply-to address?

Yes. Three hidden fields change delivery behavior without any code: subject sets a custom email subject line, replyto sets the reply-to address to the sender's email, and redirect sends the visitor to a URL after a successful submit.

What happens after someone submits the form?

splitforms validates the submission, runs it through the spam filters, stores it in your dashboard, and emails you — included on every plan. If you set a redirect field the visitor is sent to that URL; on Starter and above the submission can also be forwarded to a signed webhook or a connected integration.

Want the JSON/API request and response shapes? See the contact form API page. For the full spam-filtering breakdown, read how to stop contact form spam.

Give your contact form a backend.

Free includes 500 submissions per month, owner email notifications, spam filtering, and dashboard storage.

Start free