---
title: "Introduction"
description: "Welcome to the Forminit documentation. Learn how Forminit handles form submissions, file uploads, data storage, and notifications."
url: https://forminit.com/docs/
---

# Introduction

Welcome to the Forminit documentation. Forminit is a form backend API that handles form submissions, file uploads, data storage, and notifications so you can focus on building your product, not managing form infrastructure.

Connect any frontend to Forminit and start collecting submissions. No database setup, no server configuration, no email delivery headaches.

→ [Why Forminit?](https://forminit.com/docs/why-forminit/)

---

## How Forminit Works

Forminit follows a simple mental model with three core components:

![Forminit Architecture](https://forminit.com/docs/form-blocks-ss.png)

- **Forminit API**: A headless form backend you can call from anywhere you can make HTTP requests. Use it with any frontend framework, mobile app, or custom UI. You own the presentation; Forminit handles everything else.

- **Form Blocks**: A structured way to organize submission data. Instead of arbitrary field names, you use predefined block types (like `sender`, `text`, `email`, `file`) that come with built-in validation and consistent formatting. → [Form Blocks Reference](https://forminit.com/docs/form-blocks/)

- **Actions**: What happens after a submission is received. Forminit automatically stores your data and triggers any configured actions: email notifications, autoresponders, Slack messages, webhooks, and more.

---

## Forminit SDK

The `forminit` JavaScript SDK simplifies client-side and server-side integration. It handles FormData serialization, error responses, and automatically captures UTM parameters.

Available for browsers, Node.js, Next.js, and Nuxt.js.

→ [SDK Documentation](https://forminit.com/docs/sdk/)

---

## Authentication Modes

Forminit forms support two authentication modes:

| Mode | Use Case | Rate Limit |
|------|----------|------------|
| **Public** | Client-side forms (websites, apps) | 1 request per 5 seconds per IP address |
| **Protected** | Server-side integrations | 5 requests per second per IP address |

Protected mode requires an API key and should only be used server-side.

---

## Features

- [File Uploads](https://forminit.com/docs/file-upload/): Accept files up to 25MB per submission. Supports documents, images, audio, video, and archives with automatic type validation.
- [Submission Retention](https://forminit.com/docs/submission-retention/): Choose how long Forminit stores each form's submissions and uploaded files. Expired submissions are deleted automatically, including their files.
- [Workflow](https://forminit.com/docs/workflow/): Build what happens after each submission on a visual canvas. Send emails, forward data to integrations, change statuses, and route submissions with If / else conditions.
- [Email Notifications](https://forminit.com/docs/email-notifications/): Get instant email notifications when forms are submitted. Customize recipients, subject lines, and notification templates.
- [Autoresponders](https://forminit.com/docs/autoresponder/): Send automatic confirmation emails to form submitters. Personalize messages with submission data using template variables.
- [Slack Integration](https://forminit.com/docs/slack-notifications/): Push form submissions directly to Slack channels in real-time.
- [Discord Integration](https://forminit.com/docs/discord-notifications/): Push form submissions directly to Discord servers in real-time.
- [Google Sheets Integration](https://forminit.com/docs/google-sheets/): Send new submissions to a Google Sheets spreadsheet as rows, with custom column mapping.
- [Custom Sender Email](https://forminit.com/docs/custom-sender-email-smtp/): Use your own domain for notification and autoresponder emails. Connect any SMTP provider for full email branding.
- [Redirects](https://forminit.com/docs/redirections/): Redirect users to custom thank-you pages after successful submissions. Supports dynamic URLs with submission data.
- [Webhooks](https://forminit.com/docs/webhooks/): Forward submissions to your own endpoints in real-time. Build custom workflows and sync data with external systems.
- [Zapier Integration](https://forminit.com/docs/zapier/): Connect Forminit to 8,000+ apps through Zapier. Automate workflows without writing code.
- [Cloudflare Turnstile](https://forminit.com/docs/cloudflare-turnstile/): Protect forms from bots with a free, privacy-first CAPTCHA that verifies most visitors without showing a puzzle.
- [reCAPTCHA](https://forminit.com/docs/recaptcha/): Protect forms from spam and abuse using Google reCAPTCHA v3. Runs in the background without user interaction, scoring submissions for suspicious activity.
- [hCaptcha](https://forminit.com/docs/hcaptcha/): Protect forms from bots and abuse using hCaptcha. A privacy-focused alternative to reCAPTCHA that is GDPR-compliant out of the box.
- [Honeypot](https://forminit.com/docs/honeypot/): Protect forms from spam bots with an invisible honeypot field. An optional extra layer of protection for forms that receive high volumes of spam.
- [Workspaces](https://forminit.com/docs/workspace/): Organize forms into workspaces for team collaboration. Manage access and permissions across projects.

---

## Quick Start Guides

Get up and running with your stack:

| Framework | Guide |
|-----------|-------|
| HTML / Static Sites | [HTML Integration](https://forminit.com/docs/html/) |
| React | [React Integration](https://forminit.com/docs/react/) |
| Next.js | [Next.js Integration](https://forminit.com/docs/nextjs/) |
| Nuxt.js | [Nuxt.js Integration](https://forminit.com/docs/nuxtjs/) |
| Node.js | [Node.js Integration](https://forminit.com/docs/nodejs/) |
| Python | [Python Integration](https://forminit.com/docs/python/) |
| Flask | [Flask Integration](https://forminit.com/docs/flask/) |
| Django | [Django Integration](https://forminit.com/docs/django/) |
| FastAPI | [FastAPI Integration](https://forminit.com/docs/fastapi/) |
| Cloudflare Workers | [Cloudflare Workers Integration](https://forminit.com/docs/cloudflare-workers/) |
| Astro | [Astro Integration](https://forminit.com/docs/astro/) |
| Gatsby | [Gatsby Integration](https://forminit.com/docs/gatsby/) |
| Gridsome | [Gridsome Integration](https://forminit.com/docs/gridsome/) |
| Eleventy (11ty) | [Eleventy Integration](https://forminit.com/docs/eleventy/) |
| Jekyll | [Jekyll Integration](https://forminit.com/docs/jekyll/) |
| Hugo | [Hugo Integration](https://forminit.com/docs/hugo/) |
| Hexo | [Hexo Integration](https://forminit.com/docs/hexo/) |
| Middleman | [Middleman Integration](https://forminit.com/docs/middleman/) |
| Neocities | [Neocities Integration](https://forminit.com/docs/neocities/) |
| Webflow | [Webflow Integration](https://forminit.com/docs/webflow/) |
| WordPress | [WordPress Integration](https://forminit.com/docs/wordpress/) |
| Squarespace | [Squarespace Integration](https://forminit.com/docs/squarespace/) |
| Ghost | [Ghost Integration](https://forminit.com/docs/ghost/) |

---

[See how Forminit compares to Formspree, Netlify Forms, FormSubmit, and EmailJS →](https://forminit.com/compare/)

---

## API Reference

For direct API access:

| Endpoint | Description |
|----------|-------------|
| `POST /f/{formId}` | [Submit form](https://forminit.com/docs/submit-form-api/) |
| `GET /v1/forms/{formId}` | [List submissions](https://forminit.com/docs/list-submissions-api/) |
| `Forminit Client SDK` | [SDK reference](https://forminit.com/docs/sdk/) |
