Create a free access key
Sign in to splitforms and copy the access_key for your form from the dashboard — Free covers 500 submissions a month across unlimited forms, no card required.
Free form submission API
One hosted endpoint that accepts any HTML, React, or Next.js form — it filters spam, stores every submission, and emails you. Free for 500 submissions a month, with no backend of your own.

No server route, SMTP, or database — the endpoint is the backend.
Honeypot, time-trap, and rate limits screen bots before your inbox.
Every submission is stored and emailed to you within seconds.
Quick start
Drop this into any page, point the action at the endpoint, and stamp the load time. 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 type="hidden" name="form_loaded_at" value="" />
<input name="name" required />
<input name="email" type="email" required />
<textarea name="message" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />
<button type="submit">Send</button>
</form>
<script>
// time-trap: stamp the load time so instant bot submits get flagged
document.querySelector('[name="form_loaded_at"]').value = Date.now();
</script>Setup
No server, no SMTP, no plugin. The same five steps work whether your form is plain HTML, React, or Next.js.
Sign in to splitforms and copy the access_key for your form from the dashboard — Free covers 500 submissions a month across unlimited forms, no card required.
Set the form's action to https://splitforms.com/api/submit with method POST, or POST a FormData object with fetch() from a React or Next.js component.
Include a hidden botcheck input that must stay empty (a honeypot) and a hidden form_loaded_at field stamped with the page-load time — both are checked automatically before any notification fires.
Submit the form and confirm it lands in the dashboard. The owner notification email is included free on every plan, including Free — no upgrade needed for that part.
Upgrade to Starter ($1/month) to forward every submission to Slack, Discord, Notion, Google Sheets, or your own endpoint with signed webhooks.
What the API handles
Every request runs through the same managed pipeline, so you never stand up a backend route, a mail service, or a database table just to collect form data. It runs honeypot and time-trap checks before storing each submission and routing it to email — plus integrations like Slack, Discord, Google Sheets, and Notion on Starter.

Spam filtering
splitforms layers a hidden honeypot, a time-trap that flags instant bot submits, and server-side content heuristics on every submission — no CAPTCHA prompt required. Lock a form to allowed domains, turn on strict origin mode, or bring your own reCAPTCHA v2 secret for an extra layer.

Best use cases
Reach for a hosted form submission API whenever you would otherwise stand up a backend just to receive form data — including forms generated by AI agents through the free MCP server.

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.

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 Starter is a dollar 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
A form submission API is a hosted endpoint that receives form data, validates fields, filters spam, stores the submission, and emails the owner — all on every plan, including Free. Starter and above can also route submissions to signed webhooks and integrations like Slack, Notion, and Google Sheets. It replaces the small backend most sites would otherwise build only to receive contact form data.
Yes. splitforms includes 500 submissions per month, unlimited forms, dashboard storage, REST reads, and spam filtering on the free plan. Starter adds signed webhooks, CSV export, and integrations. No credit card is required for Free.
Yes. A normal HTML form can POST directly to https://splitforms.com/api/submit with a hidden access_key input. The same endpoint also accepts FormData from React, Next.js, Vue, Svelte, Astro, Webflow, Carrd, Framer, and WordPress embeds.
No. JavaScript is optional. Use a standard form action for the simplest setup, or use fetch with FormData when you want inline success states without a page reload.
splitforms layers a hidden botcheck honeypot field, a form_loaded_at time-trap that flags instant bot submits, and server-side content heuristics on every submission — no CAPTCHA prompt required. You can also lock a form to allowed domains, turn on strict origin mode, or bring your own reCAPTCHA v2 secret if you want an extra layer.
Upgrade the form's plan from the dashboard. Starter is $1/month for 1,000 submissions plus CSV/XML/PDF export, webhooks, and an auto-responder; Pro is $5/month for 5,000 with CC/BCC and priority support; the 3-Year plan is a $59 one-time payment for 15,000/month. Business (unlimited) is available by contacting hello@splitforms.com.
Yes. GET https://splitforms.com/api/submissions with an Authorization: Bearer <API token> header returns { submissions, has_more }. Filter with form (id or access_key), and paginate with limit (default 25, max 100), before, and since. It's rate-limited to 60 requests per minute and uses the same token as the MCP server.
Yes, through the free MCP server included on every plan. It ships 6 tools — including create_form, generate_form, and list_submissions — so Claude, Cursor, or any MCP-aware agent can stand up a form and read its results with the same API token used by the REST API.
Simple pricing
Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, and higher submission limits.
Free forever
For side projects and indie devs.
For builders who want every paid feature for $1/month.
For agencies and growing products.
Pay $59. 3 years sorted.
No credit card required on Free • Cancel anytime