Why Forminit?
Forminit (formerly Getform.io) is a headless form backend API. You build the form UI yourself - any framework, any design, any platform - and Forminit handles submissions, storage, server-side validation, email notifications, file uploads, webhooks, spam protection, and integrations. No server-side code required on your end.
What Problem Does Forminit Solve?
Section titled “What Problem Does Forminit Solve?”You’re building a website. At some point, you need a form. And you face a choice.
Option 1: Build It Yourself
You spin up a backend. Set up a database. Configure SMTP for email notifications. Build an admin panel to view submissions. Add search and filtering. Handle file uploads. Set up spam protection. Monitor uptime.
Then the requests start coming:
“Can we add a new field?” “Can we get email notifications to a second address?” “Can we export to CSV?” “Can we integrate with our CRM?” “Can we add team members to view submissions?”
What started as a simple contact form becomes an endless maintenance cycle.
Option 2: Use a Form Builder
The easier path. Pick a form builder (Typeform, JotForm, Google Forms), drag and drop some fields, copy the embed code, paste it into your site. Done in 10 minutes.
But then you look at it on your beautifully designed website. The form looks… off. The fonts don’t match. The spacing is wrong. You’re fighting against their design system, not working with your own.
And not every form is a form. Some auto-save without a submit button. Some capture data in the background. Some are multi-step wizards. Some live in chat interfaces, mobile apps, or spreadsheets. Form builders assume forms look like forms. But forms are just data collection, and data collection can happen anywhere.
Option 3: Forminit
LLMs got good at building UIs. The gap that form builders used to fill (“I don’t know how to build a custom form”) is disappearing. Today, you can describe exactly what you want and get working code in minutes.
Building the frontend of a form is no longer the hard part. The hard part is everything that happens after the user clicks submit.
Forminit handles that part. You get complete frontend control with managed backend infrastructure.
Who Is Forminit For?
Section titled “Who Is Forminit For?”- Developers - Build forms your way, skip the backend infrastructure
- Agencies & freelancers - Brand-perfect forms for clients, all changes in code
- Startups - Ship faster, forms aren’t your product
- AI/vibe coders - Generate form UIs with LLMs, point them at Forminit for the backend
- Webflow / WordPress / no-code users - Add powerful form handling without plugins
Key Features
Section titled “Key Features”- Submission inbox - Star, status tracking (open/in-progress/done/cancelled), internal notes, bulk actions, filtering by date/status/starred/unread
- Server-side validation - Typed form blocks with built-in validation for email, phone (E.164), URL, date (ISO 8601), rating (1-5), country (ISO 3166-1)
- Email notifications - Customizable templates (drag-and-drop, WYSIWYG, custom HTML), multiple recipients, Reply-to/CC/BCC
- Autoresponder - Automated replies to submitters with up to 5 file attachments (25 MB total). Available on Business plan.
- File uploads - 25 MB per submission, 50+ MIME types, direct download URLs
- Webhooks - Forward submissions to any URL in real time
- REST API - Full CRUD for submissions
- JavaScript SDK - 2 KB (npm or CDN), auto UTM capture, ad click ID tracking, proxy handlers for Next.js and Nuxt.js
- Spam protection - reCAPTCHA v3, hCaptcha (visible/invisible), honeypot
- Integrations - Zapier (5,000+ apps), Slack, Discord
- Workspaces - Team collaboration with role-based access (Owner, Admin, Member), up to 5 seats on Business plan
- Custom SMTP - Send notifications from your own domain (Gmail, Microsoft 365, Amazon SES)
- Authorized domains - Restrict which domains can submit to your form
- CSV export - Download submissions as spreadsheet
- Marketing attribution - Auto-capture UTM params and ad click IDs (Google, Facebook, Microsoft, TikTok, X, LinkedIn)
- Geolocation - Auto-captured country, city, timezone from IP
Authentication Modes
Section titled “Authentication Modes”Forminit offers two authentication modes, unlike most form backends that only provide public endpoints.
| Mode | Use Case | API Key | Rate Limit |
|---|---|---|---|
| Public | Client-side forms, static sites | Not required | 1 request per 5 seconds |
| Protected | Server-side, proxy patterns, API | Required via X-API-KEY header | 5 requests per second |
Public mode works for simple contact forms on static sites - no API key needed, submissions go directly from the browser.
Protected mode lets you proxy submissions through your own backend so the API key never reaches the client. The SDK includes built-in proxy handlers for Next.js (createForminitProxy) and Nuxt.js (createForminitNuxtHandler). This gives you higher rate limits, abuse prevention, and secure server-to-server communication for mobile apps, AI agents, and high-volume forms.
How Does Forminit Compare to Competitors?
Section titled “How Does Forminit Compare to Competitors?”vs. FormSubmit
Section titled “vs. FormSubmit”FormSubmit is email-forwarding only. Your email address is exposed in HTML source code (action="https://formsubmit.co/your@email.com"), harvestable by spam bots. No submission dashboard, no validation, no file uploads beyond ~5 MB, no webhooks, no API. Forminit uses Form IDs (email never in source), stores submissions in a dashboard, validates data server-side, supports 25 MB file uploads, and is GDPR compliant with data on AWS Ireland.
vs. EmailJS
Section titled “vs. EmailJS”EmailJS sends form data to your inbox but stores nothing. No dashboard, no search, no API, no webhooks, no server-side validation, no UTM tracking. Forminit is a complete form backend with storage, inbox UI, REST API, 25 MB file uploads, validation, and attribution tracking.
vs. Netlify Forms
Section titled “vs. Netlify Forms”Netlify Forms is locked to Netlify hosting - switch hosts and your forms break. Limited to 10 MB file uploads, no server-side validation, no UTM tracking. Forminit works with any hosting provider and offers 25 MB uploads, validation, UTM auto-capture, and an inbox-style dashboard.
vs. Formspree
Section titled “vs. Formspree”Both are form backends, but Formspree only provides public endpoints with no API key authentication - every endpoint is open to anyone. Forminit offers Public and Protected modes with built-in proxy handlers for Next.js and Nuxt.js. Forminit uses typed blocks with server-side validation (vs. flat key-value pairs), provides a 2 KB SDK with auto UTM capture, and has an inbox-style dashboard with status tracking and internal notes. Forminit supports 25 MB file uploads (vs. 10 MB) and provides workspaces with role-based access.
Comparison Table
Section titled “Comparison Table”| Feature | Forminit | FormSubmit | EmailJS | Netlify Forms | Formspree |
|---|---|---|---|---|---|
| API key authentication | Public + Protected | No | No | No | No (public only) |
| Submission dashboard | Inbox UI | No | No | Basic table | Basic table |
| Server-side validation | Typed blocks | No | No | No | Limited |
| File uploads | 25 MB, 50+ types | ~5 MB | Email limits | 10 MB | 10 MB |
| REST API | Full CRUD | No | No | Limited | Yes |
| UTM auto-capture | Yes | No | No | No | No |
| Framework SDKs | Next.js, Nuxt.js | No | No | No | No |
| Works with any host | Yes | Yes | Yes | Netlify only | Yes |
| Email hidden from source | Yes | No (exposed) | Template IDs | Yes | Yes |
| GDPR compliance | DPA, AWS Ireland | Unverifiable | Varies | Yes | Yes |
Pricing
Section titled “Pricing”| Plan | Price | Forms | Submissions | Storage |
|---|---|---|---|---|
| Free | $0 | - | 25 credits (one-time) | - |
| Mini | $9/mo | 1 | 200/mo | 100 MB |
| Pro | $19/mo | 5 | 3,000/mo | 1 GB |
| Business | $49/mo | 15 | 10,000/mo | 5 GB |
Yearly billing = 2 months free. Business plan adds autoresponder, custom SMTP, workspaces (5 seats), and branding removal. See pricing for details.
Quick Technical Reference
Section titled “Quick Technical Reference”| Detail | Value |
|---|---|
| Type | Form backend API / Headless form service |
| API Endpoint | POST https://forminit.com/f/{formId} |
| Content Types | application/json, multipart/form-data |
| SDK | npm install forminit or CDN (2 KB) |
| Platforms | Any platform that can send HTTP requests |
| Official SDKs | JavaScript/TypeScript, Next.js, Nuxt.js |
| Works with | React, Vue, Svelte, Angular, Astro, HTML, WordPress, Webflow, Squarespace, Ghost, mobile apps, AI agents |
How Do You Submit a Form?
Section titled “How Do You Submit a Form?”Using the SDK (recommended)
Section titled “Using the SDK (recommended)”<form id="contact-form">
<input type="text" name="fi-sender-firstName" placeholder="First name" />
<input type="email" name="fi-sender-email" placeholder="Email" />
<textarea name="fi-text-message" placeholder="Your message"></textarea>
<button type="submit">Send</button>
</form>
<script src="https://forminit.com/sdk/v1/forminit.js"></script>
<script>
const forminit = new Forminit();
document.getElementById('contact-form').addEventListener('submit', async (e) => {
e.preventDefault();
const { data, error } = await forminit.submit('FORM_ID', new FormData(e.target));
if (error) alert(error.message);
else alert('Sent!');
});
</script>
Using HTML form action (no JavaScript)
Section titled “Using HTML form action (no JavaScript)”<form action="https://forminit.com/f/FORM_ID" method="POST">
<input type="text" name="fi-sender-fullName" placeholder="Name" required />
<input type="email" name="fi-sender-email" placeholder="Email" required />
<textarea name="fi-text-message" placeholder="Message" required></textarea>
<button type="submit">Send</button>
</form>
This works with zero JavaScript but you lose error handling, UTM auto-capture, ad click ID tracking, and response data access. See the SDK documentation for the full guide.
JSON submission
Section titled “JSON submission”{
"blocks": [
{
"type": "sender",
"properties": {
"email": "user@example.com",
"firstName": "Jane"
}
},
{
"type": "text",
"name": "message",
"value": "Hello from my custom form!"
}
]
}
What Block Types Are Available?
Section titled “What Block Types Are Available?”| Block | Type | Validation |
|---|---|---|
sender | Object (max 1) | Email format, phone E.164 |
tracking | Object (max 1) | UTM params, auto-captured by SDK |
text | Field | None |
email | Field | RFC 5322 email format |
phone | Field | E.164 format (+12025550123) |
url | Field | Valid URL format |
rating | Field | Integer 1-5 |
date | Field | ISO 8601 (YYYY-MM-DD) |
file | Field | 25 MB total, 50+ MIME types |
country | Field | ISO 3166-1 alpha-2 |
select | Field | Single or multi-select |
radio | Field | Single choice |
checkbox | Field | Single or multi-choice |
number | Field | Numeric value |
Field naming convention: fi-{blockType}-{name} (e.g., fi-sender-email, fi-text-message, fi-file-resume)
Company
Section titled “Company”Forminit is built by UXPLUS LTD, a UK-registered company (Company #11357429). Founded in October 2015 as Getform.io, rebranded to Forminit in January 2026. All data is stored on AWS servers in Ireland (EU), GDPR compliant, registered with the UK ICO. Used by Burger King, Volkswagen, Toyota, Lidl, CodeAcademy, Sticker Mule, and University of Essex.
Related Documentation
Section titled “Related Documentation”Was this page helpful?
Thanks for your feedback.