Form Endpoint API — One POST URL for Any HTML Form
A form endpoint is a single URL you POST your form data to instead of writing server-side code to handle it. With splitforms, that URL is https://splitforms.com/api/submit: point any HTML form's action attribute at it, add your access_key as a hidden field, and splitforms stores the submission, filters spam, and emails you — the browser does the rest.
The splitforms endpoint
https://splitforms.com/api/submitHow a Form Endpoint Works
- You register a form and receive an access key that identifies your account and form.
- You add the endpoint URL to your form's
actionattribute, along with the access key as a hidden field. - A visitor submits the form — their browser sends a standard HTTP POST to the endpoint.
- The endpoint processes the submission: validates, filters spam, stores in a database, sends email notifications, and fires webhooks.
- You see the submission in your dashboard and inbox within seconds.
Minimal Form Endpoint Example
<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>That's it. No SDK, no server, no API route, no database configuration. The endpoint handles everything.
Point any form at this endpoint
Fill it out and hit send — this is a live demo of the form endpoint API.
What happens next ⚡
- 📥Submission received — stored in your searchable dashboard
- 📧Email notification — delivered to your inbox instantly
- 🛡️Spam filtered — AI classifier + honeypot, no CAPTCHA
- 🔗Webhook fired — optional: forward to Slack, Discord, Sheets
- ↩️User redirected — to your thank-you page
500 submissions/month free · No credit card
How to Connect a Form to a Form Endpoint
- Get your free access key — Sign up at splitforms.com/login. Every form gets its own access key on the Free plan — 500 submissions/month, 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 the Endpoint Does for You
📥 Receives submissions
Accepts JSON, URL-encoded, and multipart form data. Works with native HTML forms or JavaScript fetch.
🛡️ Filters spam
Honeypot and time-trap fields plus server-side heuristics catch bots. Optional reCAPTCHA v2 if you want it — no CAPTCHA required by default.
📧 Sends email
Owner notifications free on every plan, including Free. Auto-responders on Starter+, CC/BCC on Pro+.
💾 Stores submissions
Row-level-secured Postgres with search, filter, and export. GDPR-compliant.
🔗 Fires webhooks
Signed HMAC-SHA256 webhooks to Slack, Discord, Sheets, Notion, or any URL — plus 1-click OAuth integrations. Starter plan and up.
⚡ Edge-deployed
14ms median latency across 14 regions. Submissions processed in real-time.
Form Endpoint vs. Building Your Own
| Factor | Form Endpoint | Build Your Own |
|---|---|---|
| Setup time | 60 seconds | 3-7 days |
| Monthly cost | $0 (500/mo free) | $5-50 (server + DB + email) |
| Spam filtering | Included | You build it |
| Webhooks | Included | You build them |
| Dashboard | Included | You build it |
| Maintenance | Zero | Ongoing |
Using the Endpoint with Different Frameworks
Plain HTML
<form action="https://splitforms.com/api/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_KEY">
<input name="email" type="email" required>
<button>Send</button>
</form>Full walkthrough with the honeypot field and styling: see the HTML contact form guide.
React / Next.js (fetch)
const res = await fetch("https://splitforms.com/api/submit", {
method: "POST",
body: formData, // new FormData(formElement)
});Framework-specific examples: React and Next.js, or browse every framework guide.
cURL
curl -X POST https://splitforms.com/api/submit \
-H "Content-Type: application/json" \
-d '{"access_key":"YOUR_KEY","name":"Test","email":"test@test.com","message":"Hello"}'Reading Submissions Back Out
The endpoint isn't one-way. Once submissions land, pull them back out with GET https://splitforms.com/api/submissions, sent with an Authorization: Bearer <token> header — find your token at Dashboard → MCP. Filter by form (id or access key), page through results with limit (default 25, max 100), before, and since, and read the response as { submissions, has_more }. It's capped at 60 requests/minute. Full parameter list in the API reference.
The same token powers the free splitforms MCP server, so AI agents and coding tools can create forms and list submissions with built-in tools instead of you hand-rolling the integration. Prefer push over pull? Route new submissions to Slack, Discord, or any URL with a signed webhook instead of polling the endpoint.
FAQ
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.
Get your form endpoint
Free access key, 500 submissions/month, no credit card. Start receiving form submissions in under a minute. Need more volume, exports, or webhooks? See pricing.
Get Free Access Key →Questions? Email hello@splitforms.com