Get a free access key
Sign up free and build your form in the drag-drop dashboard, or just copy the HTML below. splitforms generates the access_key automatically — no card required.
Lead capture form API
POST your lead form to one endpoint and every submission is stored, spam-filtered, and emailed to your team — no backend to build. Free for up to 500 leads a month.

The endpoint is the backend — no PHP, SMTP, or server route to build to receive your leads.
A honeypot, time-trap, and rate limits screen bots before a lead ever reaches your dashboard.
Every lead is stored and emailed to your team within seconds — free on every plan.
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_KEY">
<input type="hidden" name="subject" value="New Lead from Website">
<input type="text" name="name" placeholder="Full Name" required>
<input type="email" name="email" placeholder="Work Email" required>
<input type="text" name="company" placeholder="Company">
<select name="company_size">
<option value="">Company Size</option>
<option value="1-10">1-10</option>
<option value="11-50">11-50</option>
<option value="51-200">51-200</option>
<option value="200+">200+</option>
</select>
<textarea name="message" placeholder="What do you need?" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
<button type="submit">Get My Quote</button>
</form>Setup
No server, no SMTP setup. These are the same six steps whether you paste the HTML form, build it in React or Next.js, or POST JSON from your own code.
Sign up free and build your form in the drag-drop dashboard, or just copy the HTML below. splitforms generates the access_key automatically — no card required.
access_key identifies which form a submission belongs to. An empty botcheck honeypot and a form_loaded_at timestamp power the spam filtering — leave botcheck blank and set form_loaded_at when the page loads.
Set the HTML form's action to https://splitforms.com/api/submit with method POST — or POST a JSON body from your own code with the same fields. Multipart is supported for file uploads.
Submit it and confirm it lands in the dashboard and your inbox. Email notifications to the form owner are free on every plan, including Free.
Use subject to customize the notification email's subject line, redirect to send the visitor to a thank-you page, and replyto so you can reply straight to the lead.
On Pro ($5/mo) and above, add a signed webhook or a native integration — Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, or Mailchimp — so leads move without anyone checking the dashboard.
What the API does
A lead form only looks simple. The endpoint behind it has to receive the request, screen out spam, keep a copy, and get every lead to your team — reliably, on every submission. Need a specific lead type? See lead capture form templates for demo requests, waitlists, and lead magnets.

JSON API
Yes. Building the form yourself in React or Next.js, or capturing leads from a mobile app or backend job? POST a JSON body to the same endpoint instead of an HTML form — see the React form guide or the Next.js form guide.

Destinations
On Pro ($5/mo) and above, each new lead flows into your CRM or team tools through a native one-click integration or a signed webhook. Slack, Google Sheets, and Mailchimp connect from the integrations dashboard; Salesforce, HubSpot, and Pipedrive connect through a signed webhook with an HMAC-SHA256 signature.

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
A lead capture form API replaces the backend you would otherwise build to receive form submissions. splitforms is that hosted endpoint — https://splitforms.com/api/submit — it stores each lead, filters spam, emails your team, and can forward the data on to a webhook or CRM tool.
Set the form's action (or a fetch call) to https://splitforms.com/api/submit with method POST, add a hidden access_key field with your form's key, and include an empty botcheck honeypot plus a form_loaded_at timestamp field. Submissions appear in your dashboard and inbox immediately.
Yes. POST a JSON body with Content-Type: application/json to the same endpoint — useful for single-page apps, mobile apps, or a serverless function that collects a lead before forwarding it. Multipart form data is also supported, for example when a lead attaches a file.
Yes. On Pro ($5/mo) and above, Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, and Mailchimp connect with one click from the dashboard, and you can add a signed webhook that forwards each submission's JSON to Salesforce, HubSpot, Pipedrive, Zapier, Make, or n8n.
Free for up to 500 leads a month, with unlimited forms, email notifications, and spam filtering included. Pro is $5/month for 5,000 leads plus CSV/XML/PDF exports, webhooks, and an auto-responder. Pro is $5/month for 5,000 leads plus CC/BCC and priority support.
By default splitforms returns a JSON success response. Add a hidden redirect field with a URL to send the visitor to a thank-you page instead, and a subject field to control the notification email's subject line.
Yes. Each form accepts up to 6 submissions per minute per IP address, with a sustained cap of 20 per 15 minutes. Requests past that limit return HTTP 429.
An empty botcheck honeypot field, a form_loaded_at time-trap, server-side content heuristics, per-form allowed-domains with strict origin mode, and an optional reCAPTCHA v2 you can add with your own secret key.
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