§ 01
Short answer: which one should you pick?
If you're a developer or small agency shipping client work — Webflow, Next.js, Astro, static sites, anything — splitforms is the modern fit. The free tier covers 1,000 submissions/month with unlimited forms, the API is built for 2026, and there are no per-form caps forcing artificial upgrades. Getform's $19/mo entry tier is one of the more expensive starting prices in the form-backend market, and most of what it offers is bundled into the splitforms free tier.
Getform has a real niche with pure-Webflow agencies that want a one-click plugin and a Zapier app for non-technical operators. If that's you and you bill clients enough to absorb the per-seat pricing, Getform is fine. For anyone else, splitforms gives you a modern API, a real free tier, and a $59 4-Year plan that takes recurring billing off the table entirely.
§ 02
Why developers switch from Getform to splitforms
The most common trigger is the form-count cap. Getform charges per form bucket — five forms on Basic, 25 on Bronze — which means agencies running multiple low-volume client sites get pushed up the pricing ladder for reasons unrelated to actual traffic. splitforms removes that ceiling: unlimited forms on every plan including free.
The second trigger is API age. Getform's API was built in 2017 and shows it — inconsistent endpoint naming, opaque error responses, no idempotency support. splitforms ships predictable JSON, clear error codes, idempotent submission keys, signed webhooks with retries, and an MCP server so AI agents can read and act on form data without a custom integration.
The third trigger is host portability. Webflow agencies eventually want to move some clients to faster hosts — Vercel, Cloudflare Pages, static export. splitforms works the same on any host; the form action URL doesn't care where the page is served. Getform's tooling is heavily Webflow-shaped, which is a feature when you're inside Webflow and a tax when you're not.
§ 03
Getform vs splitforms: feature comparison
Free tier: splitforms 1,000 submissions/month with unlimited forms; Getform 50 submissions/month on a single form. The 10x volume gap and unlimited-form policy together make splitforms the only one of the two with a usable free tier.
Form-count limits: splitforms has none on any plan. Getform caps form count at every tier, forcing upgrades for agencies running many small forms.
API design: splitforms ships predictable JSON, idempotency keys, signed webhooks, retry-with-backoff, and an MCP server. Getform's API is functional but reflects 2017 conventions.
Spam protection: splitforms uses AI classification plus honeypot. Getform uses CAPTCHA and honeypot.
Deliverability: splitforms uses dedicated SMTP with SPF/DKIM. Getform uses standard hosted infrastructure.
Host requirement: both work on any host. Getform has a polished Webflow plugin; splitforms works identically on Webflow as a regular HTML form action.
§ 04
Common Getform issues splitforms solves
"I'm hitting the form-count cap on Basic." splitforms has no per-form cap. Run as many forms as you want; you only pay for total submissions.
"The API feels old and the error responses are opaque." splitforms ships a modern REST API with predictable error codes and idempotency support.
"My agency is running 30 client sites and the per-form pricing is killing margins." splitforms gives you unlimited forms on Pro, and a $59 4-Year plan for high-traffic clients.
"I want to drive form submissions from a Claude or Cursor agent." splitforms ships an MCP server that exposes submissions, webhooks, and configuration to AI agents natively.
"I'm seeing AI-generated spam slip past CAPTCHA." splitforms runs every submission through an AI classifier that's trained on modern LLM-written form spam.
§ 05
splitforms advantages for Webflow agencies and developers
Concrete numbers for an agency running 30 client sites, average 200 submissions/month per site, two to three forms each: with Getform's per-form caps, most clients land on the $19/mo Basic plan or get pushed to the $49/mo Bronze plan as form count grows. Annualized agency spend lands somewhere in the four-to-five-figure range, billed monthly forever.
On splitforms, the same 30 sites can run on a mix of free tiers (small clients under 1,000/mo) and the $5/mo Pro plan (anyone larger), with high-traffic clients moved to the $59 4-Year plan as a one-time payment. The annual difference compounds into thousands per year, every year.
Beyond the price, the operational difference is real: no per-form planning constraint. You stop budgeting which forms a client "gets" and start treating forms as free. The accounting question becomes total submission volume across the agency, not form count per client — which is a much simpler number to forecast.
§ 06
How to migrate from Getform to splitforms
Step 1: sign up at splitforms.com for a free access key. Step 2: in each form's HTML, swap `https://getform.io/f/YOUR_ENDPOINT` in the action attribute for `https://splitforms.com/api/submit/YOUR_KEY`. Step 3: trigger a test submission and confirm it lands in your dashboard.
If you have file upload fields, splitforms accepts the same `multipart/form-data` encoding Getform uses — your existing `<input type="file">` markup works without changes. Webhook configuration mirrors Getform's UI; copy each webhook URL into the splitforms dashboard and you're done. For agencies, the recommended migration order is: pick one low-traffic client site, migrate as a pilot, run both endpoints in parallel for 24 hours, then roll out across the rest of the portfolio.
§ 07
Real-world migration: a developer's 30-minute walkthrough
Day 1, minute zero: you open the Webflow project (or the Next.js repo, or the Astro site) and run `grep -r 'getform.io/f/' .`. In a typical agency setup you'll find the endpoint hardcoded in a Webflow form's action field via Designer, or referenced as `https://getform.io/f/abc123def` in a `components/ContactForm.tsx`. For Webflow: open Designer, select the form, replace the action URL with `https://splitforms.com/api/submit/sf_live_yourkey`. For a code-managed site: change the URL inline (or pull it into `process.env.NEXT_PUBLIC_SPLITFORMS_KEY` if you prefer) and commit on a `splitforms-migration` branch. File upload fields keep their existing `multipart/form-data` markup — splitforms accepts the same encoding Getform does, so no field-name changes.
Minute fifteen: deploy the staging branch (`vercel deploy --target preview`, or in Webflow, publish to a staging subdomain). Trigger a real submission with a real email address and a real file attachment. Watch it land in the splitforms dashboard within seconds, including the file URL. Now run shadow mode: in your client-side form handler, fire a `Promise.allSettled([fetch(getformUrl, {...}), fetch(splitformsUrl, {...})])` so every production submission hits both backends for 24 hours. Compare the two dashboards — submission counts should match exactly, and you can sanity-check that file uploads, CC recipients, and any custom redirect URLs work identically before flipping the cutover switch.
Day 2: remove the Getform `fetch` call, leave splitforms as the sole backend, redeploy. Migrate Zapier triggers by re-pointing each Zap's webhook step at the splitforms webhook URL exposed in the dashboard — same payload shape, same downstream automations. Once the new path has run a full day clean, archive the Getform endpoint from their dashboard and downgrade the subscription. Splitforms's free tier (1,000/mo, unlimited forms) covers the parallel shadow window for any single client, and Pro at $5/mo covers a full agency portfolio mid-cutover at zero meaningful cost.
§ 08
When NOT to switch to splitforms (honest take)
If you've already built deep custom workflows on Getform — a chained Zapier automation that fans out to HubSpot, Notion, and a custom Slack bot, with field-level transformations the marketing team relies on, plus the native Webflow plugin wired into a multi-form Designer template — switching costs may exceed any feature gain. Splitforms can replicate the end state via webhooks and your own automation, but rebuilding a six-step Zap that's been running cleanly for three years means re-testing every branch, re-mapping every field, and getting non-technical stakeholders to re-bless the result. The $14/mo savings on a single client doesn't pay for that engineering time.
Getform is also the right answer if you're an agency whose entire deliverable is Webflow Designer work and your developers don't write code outside the Webflow ecosystem. Splitforms works fine on Webflow as a regular form action URL, but Getform's native Webflow plugin gives you a one-click setup inside Designer that's faster than copy-pasting a URL from a separate dashboard — and for a designer who isn't going to touch a webhook, the polish matters more than the API surface or the price.
And if you have a long-running enterprise Getform contract with custom data residency, signed DPAs, or a procurement-approved vendor relationship, the legal and procurement cost of re-clearing splitforms exceeds the subscription delta. Stay where you are.
§ 09
Frequently asked questions
Is splitforms a true Getform alternative? Yes. Every core capability — POST endpoint, file uploads, dashboard, webhooks, spam filtering, custom redirects, CC recipients — is covered, with a larger free tier and no per-form caps.
Does it work on Webflow? Yes. splitforms is just an HTML form action — Webflow's form element accepts it natively. Paste the splitforms URL into the form's action field and you're done.
What about file uploads? Yes, on every plan including free. Standard `multipart/form-data` encoding.
Will my Zapier integration break? splitforms supports webhooks on every plan; point a Zapier webhook trigger at the splitforms webhook URL and you have the same downstream automation.
Is there a per-form limit? No. Unlimited forms on every plan, including free.
Does splitforms have a one-time payment option? Yes — the 4-Year plan is $59 once for 48 months at 15,000 submissions/month.