DEV Community

townmedia labs
townmedia labs

Posted on

Why I Built a Formspree Alternative (And Why It's Free for 500 Submissions/Month)

You know the feeling. You've built a clean, fast static site — Next.js, Astro, maybe just plain HTML.
Everything is perfect. Vercel hosting, free tier. Tailwind CSS looking sharp. Lighthouse score: 97.

Free Form Backend & Contact Form API for HTML, Next.js & React

splitforms is a free form backend API: point any HTML, Next.js, React or Astro form at one POST endpoint and get a dashboard plus spam filtering. 500 submissions/mo free, Starter is $1/mo.

favicon splitforms.com

Then you need a contact form.

And suddenly you're staring at three bad options:

  1. Write a backend. Spin up an Express server, configure Nodemailer, set up SMTP, handle spam, deploy it somewhere. All for a form that sends an email. A contact form.
  2. Use Formspree. It works. But the free tier caps you at 50 submissions/month. Fifty. If your site gets any real traffic, you'll burn through that in a week. Then it's $10/month. For a contact form.
  3. Use a PHP script. It's 2026. I shouldn't have to explain why this is a bad idea.

I kept thinking: why is this so hard? A contact form is one POST request. It writes to a database

and sends an email. That's it.

So I built splitforms.

## What splitforms does

One endpoint. No SDK. No backend code.

  <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>                                                                                          
Enter fullscreen mode Exit fullscreen mode

That's it. Submissions land in your dashboard with spam filtering, email notifications, and webhook

integrations.

## The free tier I wanted

Here's how splitforms compares on what actually matters — the free tier:

| Service | Free Submissions/Month |

|---|---|

| Formspree | 50 |

| Basin | 50 |

| Getform | 50 |

| Netlify Forms | 100 |

| Web3Forms | 250 |

| splitforms | 500 |

500 submissions/month. No credit card. No time limit. No "14-day trial."

When you do want paid features — webhooks to Slack/Discord, CSV exports, auto-responders — Starter is
$1/month. Not $10. Not $20. One dollar.

## Features developers actually asked for

  • Signed webhooks (HMAC-SHA256) — pipe submissions anywhere with retry and dead-letter handling
  • AI spam classifier — catches LLM-generated spam that honeypots miss
  • MCP server — Claude Code, Cursor, and Windsurf can read submissions and manage forms natively. Yes, your AI coding agent can wire up forms for you.
  • Row-level-secured Postgres — GDPR-compliant. We literally can't read your submissions.
  • Edge-deployed — 14ms median latency across 14 regions
  • Works with everything — HTML, React, Next.js, Vue, Svelte, Astro, Hugo, Gatsby, Webflow, Framer, Carrd, WordPress

## The MCP angle (this is the fun part)

splitforms ships an official Model Context Protocol server. That means you can tell Claude Code or

Cursor:

"Create a contact form on my Next.js site and wire it to splitforms."

And the AI agent does it — creates the form, gets the access key, writes the JSX, and submits a test
entry. No copy-pasting API keys, no reading docs.

## What I learned building it

Pricing is the hardest decision. I went with 500 free because I wanted the free tier to be

genuinely usable for a real site — not just a trial that runs out in a week.

Spam is harder than it looks. Honeypot fields catch the dumb bots. But in 2026, bots use LLMs to
fill forms with personalized-seeming messages. That's why I added an AI classifier on top.

People care about email deliverability more than I expected. Shared SMTP pools tank your inbox

placement. Dedicated SMTP with proper SPF/DKIM is non-negotiable.

## Try it

If you're currently paying for a form backend — or hitting free tier limits — give splitforms a try:

  • Free forever: 500 submissions/month, 2 forms, no credit card → splitforms.com
  • Starter: $1/month for webhooks, exports, and integrations
  • 3-Year plan: $59 once, 15,000 submissions/month for 36 months

I'm the founder and I read every email. Reach me at hello@splitforms.com.

If you found this useful, I'd love an upvote or a share. I'm a solo dev building this — every bit of
distribution helps. 🙏




──────────────────
Enter fullscreen mode Exit fullscreen mode

Top comments (0)