splitforms.com

Form API

Free form API to submit and read form data.

One hosted endpoint your forms POST to — spam filtered, stored, and emailed to you, then readable back into your own app over REST.

  • 500 free / mo
  • REST reads
  • No backend code
A website form POSTing to the splitforms hosted form API endpoint

No backend

POST to one URL — no server route, PHP, or SMTP to build or maintain.

Spam filtered

Honeypot, time-trap, and rate limits screen bots server-side.

Stored + emailed

Every submission is saved to your dashboard and emailed to you.

Quick start

Point your HTML form at the form API endpoint.

Drop this into any page, set the action to the endpoint, and add your access key. That's the whole integration — no server, no build step.

Get your free access key
form.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>
  <textarea name="message" required></textarea>
  <button>Send</button>
</form>

Setup

How to send form data to the form API.

Six steps whether you paste the form into raw HTML, a React component, or a fetch() call — the endpoint is the same every time.

Get a free access key

Sign in to splitforms and copy the access key for your form. The Free plan needs no credit card.

Point your form (or fetch call) at the endpoint

Set action="https://splitforms.com/api/submit" and method="POST" on an HTML form, or POST JSON/FormData to the same URL with fetch().

Add the access_key as a hidden field

It tells splitforms which of your forms the submission belongs to — every request needs it.

Add the spam traps

Include a hidden botcheck input (leave it empty) and a form_loaded_at hidden field set to the page-load timestamp. Both are checked server-side before anything is stored.

Send a test submission

Submit the form and check your dashboard and inbox — email notifications are included on every plan, including Free.

Wire up webhooks or integrations (optional)

On paid plans, route new submissions to a signed webhook or a native integration like Slack, Notion, or Google Sheets — no extra code on your form.

What a form API does

What does a form API do?

A form API is a hosted endpoint your forms POST to instead of a backend you'd build yourself. splitforms' free form API accepts a plain HTML post, a fetch() call with JSON, or multipart file data — then validates it, spam-filters it, stores it, and emails you. See how a hosted form endpoint works. Free plan: 500 submissions/month, unlimited forms, no credit card.

  • Receive HTML posts, fetch() JSON, FormData, and file uploads
  • Filter spam with honeypot, time-trap, origin checks, and rate limits
  • Store every submission, searchable and exportable in your dashboard
  • Read submissions back over REST with GET /api/submissions
A form submission received, filtered, stored, and read back over REST

Every stack

Can you POST to the form API from React or the CLI?

The Quick start above is the plain HTML version. The same access key and endpoint work from a fetch() call or a terminal — send JSON or form fields, whichever suits your stack. It works the same from a React component, a Next.js Server Action, or plain JavaScript.

  • Native HTML form post — no JavaScript required
  • fetch() with JSON or FormData from React, Vue, Svelte, or Astro
  • cURL or any HTTP client from the command line
The same form API endpoint called from HTML, fetch(), and the command line

Read submissions

How do you read form submissions over REST?

The submit endpoint is only half the API. Every form also exposes a read-only REST endpoint — GET /api/submissions with an Authorization: Bearer token. Grab the token from Dashboard → MCP, the same token that powers the MCP server for AI agents. See the full API reference for every parameter.

  • GET /api/submissions with an Authorization: Bearer token
  • Filter by form and page with limit, before, and since
  • Response is { submissions, has_more }, 60 requests/minute
Form submissions read back from the splitforms REST API into a dashboard

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.

Questions

Free form API questions.

View all FAQs
Is there a free API for forms?

Yes. splitforms provides a free form API endpoint at https://splitforms.com/api/submit. You get 500 submissions per month free, no credit card required. Paid plans start at $5/month (Pro, 5,000 submissions) for webhooks and integrations.

How do I send form data to an API?

Set your form's action attribute to the API endpoint URL and method to POST: <form action="https://splitforms.com/api/submit" method="POST">. Add your access key as a hidden field. The browser handles the rest — fetch() with JSON or FormData works the same way.

What is the best free form API?

splitforms offers the most generous free tier (500 submissions/month), the lowest paid pricing ($5/month Pro), signed webhooks, spam filtering, and a free MCP server for AI agents — making it the best free form API for most developers.

Can I use a form API with React or Next.js?

Yes. Form APIs work with any framework. You can use a native HTML form POST or handle it with fetch() in React, Next.js, Vue, Svelte, Astro, or any JavaScript framework — the endpoint doesn't care what rendered the form.

How do I read form submissions with an API?

GET https://splitforms.com/api/submissions with an Authorization: Bearer <token> header. Grab the token from Dashboard → MCP. Filter by form (id or access_key), and page through results with limit, before, and since — the response is { submissions, has_more }. Limit is 60 requests/minute.

Does the form API support file uploads?

Yes, multipart uploads are supported on the submit endpoint. Attaching files to submissions and storing them requires the Storage integration (a paid feature): up to 5 files per submission, 5 MB each.

How do I stop spam on the form API?

Add the hidden botcheck honeypot field (leave it empty) and the form_loaded_at time-trap field. splitforms also runs server-side content heuristics, per-form allowed-domains and strict origin checks, and rate-limits abuse (6 submissions/minute/IP, 20 per 15 minutes) — reCAPTCHA v2 is optional if you want an extra layer.

Can AI agents use the form API?

Yes. The free MCP server gives AI agents like Claude Code, Cursor, and Windsurf tools to create forms and read submissions directly. A chatbot or agent backend can also just POST collected data to /api/submit with the form's access_key, the same as any other client.

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
 

Free forever

Best for testing

For side projects and indie devs.

  • 500 submissions / mo
  • 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