Create a free access key
Sign up and copy the access key from your dashboard. Free covers 500 submissions/month across unlimited forms, no card required.
Form backend service
POST any HTML, React, or Next.js form to one endpoint. Every submission is spam-filtered, stored, and emailed to you — no server to run.

No PHP mailer, SMTP, or API route — the hosted form backend service is the endpoint.
A honeypot, time-trap, and rate limits screen bots before they reach your inbox.
Every submission is stored in your dashboard and emailed to you within seconds.
Quick start
Drop this into any page, point the action at the endpoint, and add your access key. That's the whole integration — no server, no build step.
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input name="name" autocomplete="name" required />
<input name="email" type="email" autocomplete="email" required />
<textarea name="message" required></textarea>
<!-- Honeypot — bots fill it, humans never see it -->
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off" />
<!-- Time-trap — set on page load, checked on submit -->
<input type="hidden" name="form_loaded_at" id="form_loaded_at" />
<button type="submit">Send</button>
</form>
<script>
document.getElementById("form_loaded_at").value = Date.now();
</script>Setup
Four steps, no server code — the same whether your form is plain HTML, a React component, or a Next.js app. To send form data with fetch(), POST the same fields as JSON to the endpoint.
Sign up and copy the access key from your dashboard. Free covers 500 submissions/month across unlimited forms, no card required.
Set the form action to https://splitforms.com/api/submit and method POST, or send the same fields as JSON with fetch(). Add the hidden access_key field.
Keep the botcheck honeypot field empty and add the form_loaded_at time-trap field so bot submissions get filtered automatically.
Submit the form once, confirm the owner email notification arrives, and see the entry stored in your dashboard.
What it replaces
Keep your own form markup and design. The hosted backend takes over everything that happens after Submit — the mailer, the database, the spam stack, and the webhook plumbing you would otherwise build and maintain yourself. It is the same job a contact form backend handles, generalized to every form type.

When to use it
Use one when your site already has a form UI but no backend to process submissions — you keep your own HTML, CSS, and framework components while outsourcing submission handling. It is a good fit for static sites, React apps, Next.js apps, Webflow embeds, and landing pages, and pairs naturally with serverless form handling.

Spam filtering
Every plan, including Free, includes a botcheck honeypot field and a form_loaded_at time-trap that flags submissions sent faster than a human could type, plus server-side content heuristics and rate limiting at 6 submissions/minute per IP. Optional reCAPTCHA v2 is available if you want an extra layer — see the spam-free contact form guide.

How SplitForms works
Connect your form, collect every submission, and send data where it needs to go — without building backend infrastructure.

Point your form to your unique SplitForms endpoint. That's it.

We instantly capture and organize every submission in your inbox.

Send data to email, spreadsheets, CRMs, webhooks, and 7,000+ apps.

No credit card required. Set up in under 60 seconds.
Connect & automate
SplitForms works with the destinations you route to and the platforms you build on — from Slack and Sheets to WordPress, Shopify, and Next.js. And with Stripe connected, your forms can take payments too.

Trusted by indie teams and agencies shipping forms worldwide
Testimonials
40 quotes on record — from indie hacks to agency migrations.
“I replaced a Lambda + DynamoDB + SES contact form with six lines of HTML. It took eleven minutes, and the dashboard is better than what I was going to build.”
“We migrated 14 client sites off Formspree in a single weekend. The price is a third of what we paid, the API is more honest, and the spam filter actually works.”
“The webhook payload is signed, idempotent, and well-shaped. It reads like code from a competent team, not a CRUD app held together with duct tape.”
“I stopped reaching for Typeform on small marketing sites. splitforms covers 90% of the use case at none of the bloat.”
“I onboarded our whole agency in an afternoon. The MCP integration meant Cursor literally dropped the form straight into our client repos for us.”
“The free plan gave me 500 submissions before I paid a cent, and Pro is five dollars a month. I've spent more on coffee deciding which backend to use.”
“Spam went from forty junk entries a day to zero, with no reCAPTCHA puzzle ruining the form. The honeypot and time-trap just quietly do their job.”
“Point the form action at one endpoint and you're done. No SDK, no client library, no build step. This is how a form backend should feel.”
“Leads land in Slack the second someone submits, and a copy goes to Google Sheets for the sales team. I wired both up in under ten minutes.”
“I run a static Hugo site on a five-dollar VPS. splitforms gave it a real contact form without me standing up a single server.”
FAQ
It sits between your form and your inbox. Instead of writing a mailer, a submissions table, and a spam filter yourself, you POST the form to a hosted endpoint that handles validation, spam filtering, storage, email notifications, and webhooks. You keep full control of the form's markup and design while the service owns everything that happens after Submit. With splitforms, that endpoint is https://splitforms.com/api/submit and every entry is searchable in your dashboard.
Use one when your site already has a form UI but no backend to process submissions. It is a good fit for static sites, React apps, Next.js apps, Webflow embeds, and landing pages.
Yes. A form builder usually hosts the whole form UI. A form backend service lets you keep your own HTML, CSS, and framework components while outsourcing submission handling.
Free covers 500 submissions/month across unlimited forms, with email notifications, spam filtering, and dashboard storage included. Pro is $5/mo for 5,000 submissions plus CSV/XML/PDF exports, webhooks, and integrations. Pro is $5/mo for 5,000 submissions plus CC/BCC and priority support. A 3-Year plan is $59 for the first 3 years, then $59/year, for 15,000 submissions/month.
Yes. The endpoint accepts a standard form POST or a fetch() call with JSON — multipart is also supported for file fields. Keep your own React or Next.js form markup and submit to https://splitforms.com/api/submit with the access_key included.
Yes. splitforms stores the submission and sends owner email on every plan. paid plans can also forward a single signed webhook (HMAC-SHA256, prefixed sha256=) to CRMs, automation tools, or your own API, with an 8-second timeout and no automatic retries.
Every plan includes a botcheck honeypot field (must stay empty) and a form_loaded_at time-trap that flags submissions sent faster than a human could type, plus server-side content heuristics and rate limiting at 6 submissions/minute per IP. Optional reCAPTCHA v2 is available if you want an extra layer.
Yes. The free MCP server exposes tools like create_form, generate_form, and list_submissions for AI agents, and the REST API (GET /api/submissions with a Bearer token from Dashboard → MCP) lets any script read leads directly.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.
For side projects and indie devs.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime