splitforms.com

Form action endpoint

A free form action URL for any HTML form.

Updated · plan facts checked against /pricing

Set your form's action to https://splitforms.com/api/submit, keep method="POST" and add a hidden access_key input. Submissions are spam-filtered, saved to your dashboard and emailed to you on every plan, and a hidden redirect field can send visitors to your thank-you page. Free covers 500 submissions total, no credit card.

  • 500 free total
  • No backend
  • POST any URL
An HTML form with its action attribute pointing to the splitforms endpoint

No backend

action + method="POST" is the whole integration — no PHP, SMTP, or server route.

Spam filtered

Honeypot, time-trap, and rate limits screen bots before your inbox.

Stored + emailed

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

Working example

A copy-paste form action URL example.

This posts the submission to splitforms, where it is stored, emailed, filtered for spam, and — with the optional redirect field — sends the visitor to a thank-you page. Not sure where a given action URL actually sends data? Check it with the form action tester.

Get your free access key
index.html
<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
  <!-- optional: a path on your site, or a full URL on your own domain -->
  <input type="hidden" name="redirect" value="/thank-you" />
  <input name="email" type="email" required />
  <textarea name="message" required></textarea>

  <!-- honeypot: must stay empty -->
  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" />

  <button type="submit">Send</button>
</form>

Step by step

How to set up a free form action URL.

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

Get a free access key

Sign up at splitforms.com/login and create a form. Your access key appears instantly — Free covers 500 submissions total with no credit card required.

Set action and method on your form

Point action at "https://splitforms.com/api/submit" and set method="POST" — that pair is what turns a static HTML form into a working submission.

Add the access key as a hidden field

Add <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" /> inside the form so splitforms knows which form the submission belongs to.

Keep the honeypot field empty

Leave <input type="checkbox" name="botcheck" /> in the markup and hidden from view — it must stay empty for a submission to be treated as human.

Submit a test entry

Fill out the form and send it. Accepted submissions are saved in your dashboard before owner notification email is attempted on every plan; delivery time and inbox placement depend on provider and recipient settings.

Optionally set a redirect

Add <input type="hidden" name="redirect" value="/thank-you" /> to send visitors to your thank-you page after they submit. It works on every plan: use a path starting with / or a full http(s) URL on your own site.

Attributes

What does a form action URL need to work?

The action URL is where the browser sends your form data — and a few attributes decide whether that POST arrives intact. Get these right and every submission routes cleanly to email, a webhook, or an API. For how the attribute itself behaves, see the HTML form action attribute reference.

  • Use POST — it keeps fields in the request body and supports longer messages and files.
  • Point action at an absolute URL like https://splitforms.com/api/submit for a hosted backend.
  • Only inputs with a name attribute are included in the submitted payload.
A form POST routed from the action URL to email, webhooks, and your dashboard

File uploads

How do you add a file upload to a form action?

Add enctype="multipart/form-data" alongside action and method="POST" whenever the form includes a file input. splitforms accepts multipart submissions on every plan; storing the files themselves needs the paid Storage integration.

  • Set enctype="multipart/form-data" for any <input type="file">.
  • Multipart submissions are accepted on every plan.
  • Storage retains up to 5 files per submission at 5 MB each.
A form action posting a multipart file upload to splitforms

Cross-domain

Can a form action point to another domain?

Yes. A normal browser form submit can POST to an absolute URL on another domain, including the splitforms endpoint. CORS only becomes a concern when you intercept the submit with JavaScript and use fetch instead of a native form POST. Form action not working? See the form action CORS and 405 fixes.

  • A native form POST works cross-origin with no CORS preflight.
  • CORS headers only come into play if you submit with fetch.
  • Add a hidden redirect field for a thank-you page with no JavaScript.
A form action posting across domains to the splitforms endpoint

How SplitForms works

What happens after someone submits your form?

splitforms receives the submission, filters spam, saves it to your dashboard and emails you — then, on paid plans, sends it on to your webhooks and integrations. No backend infrastructure to build.

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

Where can submissions go besides email?

On paid plans, submissions can also go to Slack, Discord, Google Sheets, Notion, Airtable, Zapier or any signed webhook — and splitforms works on the platforms you build on, from WordPress and Shopify to Next.js. 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 payment forms →Need time slots? Online booking →

Setup guides for the stacks you use

FAQ

Form action URL questions.

View all FAQs
What is a form action URL?

It is the value of a form's action attribute: the address that receives the submitted data. splitforms gives you one, https://splitforms.com/api/submit, so the form works without a server of your own. Keep method="POST" and add a hidden access_key input.

Should a contact form use GET or POST for its action?

Use POST. GET puts form fields into the URL query string and is appropriate for search and filters. POST sends fields in the request body and is the correct method attribute for contact forms, lead forms, file uploads, and anything that creates a record.

Can a form action point to another domain?

Yes. A normal browser form submit can POST to an absolute URL on another domain, including https://splitforms.com/api/submit. CORS only becomes a concern when you intercept the submit with JavaScript and use fetch or XMLHttpRequest instead of a native form POST. If you do submit with fetch, the splitforms endpoint answers with Access-Control-Allow-Origin: * and handles the OPTIONS preflight.

What is the easiest action URL for a static website contact form?

Use a form-backend endpoint like https://splitforms.com/api/submit. Add your access key as a hidden field, keep method set to POST, and submissions are stored in a dashboard, emailed to you for free on every plan, and filtered for spam automatically.

Can a form action send email without PHP or mailto:?

Yes. Point action at https://splitforms.com/api/submit instead of a mailto: link, which only works when the visitor has an email app set up. splitforms sends the owner notification email on every plan, including Free, with no server or SMTP setup.

What does enctype do, and when do I need multipart/form-data?

The enctype attribute controls how the browser encodes the request body. The default, application/x-www-form-urlencoded, works for text fields. Add enctype="multipart/form-data" when the form includes an <input type="file">, such as a resume or attachment upload — splitforms supports multipart submissions and, on paid plans with the Storage integration, stores up to 5 files per submission at 5 MB each.

How do I redirect a visitor after the form action submits?

Add a hidden field named redirect, for example <input type="hidden" name="redirect" value="/thank-you" />. After a classic HTML POST, splitforms answers with a 303 redirect to it, on every plan and with no JavaScript. The value can be a path starting with /, or an absolute http(s) URL on your form's allowed-domains list, on splitforms.com, or (when no allow-list is set) the site the form was submitted from. Anything else is ignored: the visitor goes to the redirect URL set in Form settings if there is one, otherwise to the default thank-you page. A Form settings redirect URL works on every plan, and the hidden field takes priority over it.

Can I set the email subject or reply-to address from the form action?

Yes. splitforms recognizes a few special hidden fields alongside access_key: subject sets the notification email's subject line, and replyto sets the address you can reply straight to. Both are optional and read from the same POST your form action already sends.

Does changing the form action break spam protection?

No — spam protection travels with the endpoint, not the markup around it. splitforms checks the botcheck honeypot, applies a time trap when the form sends a form_loaded_at field, scores content server-side, and rate-limits each visitor IP on each form (6 a minute, 20 per 15 minutes), however the surrounding page is built.

Simple pricing

How much does splitforms cost?

Free gives you 500 submissions for $0 — no card, no time limit. Pro is $5/month for 5,000 submissions a month, and Annual is $49/year for 15,000 a month with every Pro feature.

Free

$0— 500 submissions
 

No card, no time limit

Best for testing

For side projects and indie devs.

  • 500 free submissions
  • Unlimited forms
  • Email notifications included
  • Smart spam filtering
  • Submissions dashboard
  • Redirect after submit
  • MCP server included

Annual

$49/ year
About $4.08 per month, billed yearly
Best value

Every Pro feature with triple the volume — $0.27 per 1,000 at full use.

  • 15,000 submissions per month
  • Unlimited forms
  • Everything in Pro
  • File uploads with 5 GB storage
  • 3 team seats
  • Priority email support

No credit card required on Free • Cancel anytime • Full pricing and FAQ