splitforms.com

Form endpoint

Form endpoint: one URL for any HTML form.

Point any form's action at one form endpoint URL. splitforms stores every submission, filters spam, and emails you — no backend to build.

  • 500 free / mo
  • 60-sec setup
  • No backend code
An HTML form submitting to the splitforms hosted form endpoint

Receives form submissions

The form endpoint accepts JSON, URL-encoded, and multipart form data — from native HTML forms or a JavaScript fetch.

Filters spam automatically

Honeypot, time-trap, and server-side heuristics screen bots before your inbox. Optional reCAPTCHA v2 — none required by default.

Emails you every entry

Owner notifications are free on every plan. Each submission is stored in a searchable dashboard and can fire signed webhooks.

Quick start

The form endpoint is your form's action URL.

Set your form's action to https://splitforms.com/api/submit, add your access key, and the browser does the rest — no SDK, no server, no API route.

Get your free access key
form.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY">
  <input name="name" type="text" placeholder="Name" required>
  <input name="email" type="email" placeholder="Email" required>
  <textarea name="message" placeholder="Message" required></textarea>
  <button type="submit">Send</button>
</form>

Setup

How to connect a form to a form endpoint.

No server, no SMTP setup. The same six steps whether you paste the form into raw HTML, a React component, or a WordPress custom-HTML block.

Get your free access key

Sign up at splitforms.com/login. Every form gets its own access key on the Free plan — 200 submissions total, unlimited forms, no credit card.

Point your form's action at the endpoint

Set action="https://splitforms.com/api/submit" and method="POST" on your <form> tag, then add access_key as a hidden field with your key as the value.

Add the honeypot field

Include a hidden botcheck input that must stay empty. Bots fill every field, including hidden ones; humans never see it. Any submission where it's filled in gets rejected.

Add the time-trap field

Add a hidden form_loaded_at field set to a timestamp when the page loads. splitforms uses the gap between load and submit to catch instant bot fills.

Set optional control fields

Add subject for a custom notification email subject, redirect for a post-submit thank-you URL, or replyto to set the reply-to address — no code required for any of them.

Submit a test entry and check your dashboard

Fill out the form yourself. The submission appears in your splitforms dashboard and inbox within seconds — email notifications are free on every plan.

What it does

What does a form endpoint do?

A visitor hits submit, their browser POSTs to one URL, and the form endpoint does the rest — validate the access key, filter spam, store the submission, email you, and fire optional webhooks. No server-side code on your side.

  • Receives JSON, URL-encoded, and multipart form data
  • Honeypot, time-trap, and rate limits screen bots
  • Stores every entry in row-level-secured Postgres
A form submission received, filtered, stored, emailed, and routed to a webhook by the form endpoint

Any framework

Does a form endpoint work with any framework?

Yes. Any HTML form can POST to a form endpoint, so the same URL works from plain HTML, a React or Next.js fetch(), Vue, Svelte, Astro, or the command line — same access key, same JSON response. You can browse every framework guide.

  • Accepts x-www-form-urlencoded, JSON, and multipart
  • No SDK, plugin, or build step to install
  • Works from the browser, a server, or curl
A form endpoint working across HTML, React, Next.js, Vue, and Svelte

Read the data back

How do you read form endpoint submissions back out?

The form endpoint isn't one-way. Once submissions land, pull them back with GET /api/submissions and an Authorization: Bearer token from Dashboard → MCP — filter by form, page through with limit/before/since, and read { submissions, has_more }. Full parameters live in the API reference and the form API guide.

  • Free MCP server for AI agents and coding tools
  • Or push new entries to Slack with a signed webhook
Route to a webhook
Reading form endpoint submissions back out via the splitforms API and MCP server

How SplitForms works

From form to workflow in 3 simple steps.

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

A SplitForms contact form submission launching straight to your inbox

Add your endpoint

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

HTML form pointing at a SplitForms submit endpoint

Receive submissions

We instantly capture and organize every submission in your inbox.

Submissions inbox with searchable leads and status pills

Route anywhere

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

Generic integration tiles for email, sheets, chat, CRM, automate, and webhook

No credit card required. Set up in under 60 seconds.

Connect & automate

Connect your favorite tools and automate everything

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.

Connect your SplitForms form to Slack, Google Sheets, Mailchimp, Zapier and more
NewTake payments on your formsDeposits, bookings, order forms — submitters check out through Stripe and the money goes straight to your Stripe account. Included on every paid plan.See plans →

Trusted by indie teams and agencies shipping forms worldwide

PETAL/COKRAFT.DELINEAR-XBUILD.DEVSTUDIO 71MERIDIANFRAME&CO

Testimonials

Loved by developers shipping at every scale.

40 quotes on record — from indie hacks to agency migrations.

FAQ

Form endpoint FAQ.

View all FAQs
What is a form endpoint?

A form endpoint is a URL that receives HTTP POST requests from HTML forms. Instead of writing server-side code to process form submissions, you point your form's action attribute at the endpoint URL. The endpoint handles storage, email notifications, spam filtering, and optional webhooks.

How do I use a form endpoint?

Set your form's action attribute to the endpoint URL and add a hidden input with your access key. For example: <form action="https://splitforms.com/api/submit" method="POST"> with a hidden field containing your key. That's the entire setup.

Is a form endpoint the same as a form backend?

Yes. Form endpoint, form backend, and form API all refer to the same thing: a hosted service that receives your form submissions so you don't have to build server-side infrastructure. The terms are used interchangeably.

Do form endpoints work with any framework?

Yes. Any HTML form can POST to a form endpoint, so it works with every framework: plain HTML, React, Next.js, Vue, Svelte, Astro, Hugo, Gatsby, Webflow, Framer, Carrd, and WordPress. If it can submit a form, it can use a form endpoint.

Are form endpoints secure?

With splitforms, form endpoints use HTTPS, submissions are stored in row-level-secured Postgres (GDPR-compliant), and webhooks are signed with HMAC-SHA256. The access key in your HTML is designed to be public — it identifies your form, not grants API access.

What's the difference between a form endpoint and a form action URL?

They're the same thing from two angles. The "endpoint" is the URL that receives POST requests; the form's action attribute is where you put that URL. Setting action="https://splitforms.com/api/submit" on any <form> tag is the entire integration — the browser does the rest.

What data formats does a form endpoint accept?

The splitforms endpoint accepts three content types: standard HTML form posts (application/x-www-form-urlencoded), JSON (application/json) for fetch or AJAX submissions, and multipart/form-data for submissions that include file uploads.

Is there a rate limit on the form endpoint?

Yes. The endpoint allows 6 submissions per minute per IP address, with a sustained cap of 20 within a 15-minute window. Requests beyond that return an HTTP 429 response, which protects your form from being flooded.

Simple pricing

Start free. Scale when you need more.

Choose a plan that fits your workflow — from a free form endpoint to full automations, exports, Stripe payments, and higher submission limits.

Free

$0
 

No card required

Best for testing

For side projects and indie devs.

  • 200 submissions total (one-time)
  • Unlimited forms
  • Email notifications included
  • Honeypot spam filtering
  • Submissions dashboard
  • MCP setup stays free
  • No credit card required

3-Year

$59/ first 3 years
was $99 · save 40% · new-user price

Pay $59. 3 years sorted.

  • 15,000 submissions / mo
  • Unlimited forms
  • Everything in Pro
  • $59 for 3 years, then $59/year
  • Long-term discount
  • Priority support included
  • Vote on the roadmap

No credit card required on Free • Cancel anytime