Documentation
FormsFort API and implementation guides for static forms, integrations, and production operations.
FormsFort Documentation
Everything you need to build with FormsFort. API reference, framework guides, integration walkthroughs, and production operations for static-site forms.
Quick Start
Copy this into any HTML page. Replace YOUR_ACCESS_KEY with a key from your dashboard.
<form action="https://api.formsfort.dev/submit" method="POST">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="text" name="name" required />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<input type="checkbox" name="botcheck" style="display:none" />
<button type="submit">Send</button>
</form>Guides
Installation
Create an access key, paste the HTML form, and test from the deployed page.
HTML & JavaScript
Plain HTML, fetch JSON, FormData uploads, validation, and inline result rendering.
React
Simple React forms, React Hook Form, file uploads, captcha tokens, and package guidance.
JS Frameworks
Vue, Svelte, Angular, and Alpine browser submission examples.
API Reference
Submit endpoints, reserved fields, response codes, JSON bodies, redirects, and server-side use.
Options Reference
Reserved fields, hidden options, captcha tokens, uploads, redirects, and forwarding rules.
Troubleshooting
Delivery, CORS, rate limit, captcha, webhook, and upload failure paths.
FAQ
Access keys, privacy posture, abuse protection, billing, and data retention answers.
Concepts
Pro Features
Captcha, CC, autoresponders, uploads, webhooks, domains, intro text, and IP safelists.
Customizations
Subject, success page, redirect, captcha, reply-to, from name, and spam controls.
Integrations
Webhook, Slack, Discord, Telegram, and Google Sheets setup notes.
Spam Protection
Honeypot, captcha, domain restrictions, rate limits, suppression, and abuse rules.
File Uploads
Multipart attachments, advanced object-storage uploads, scanning, and temporary links.
Reserved Fields
Web3Forms-compatible hidden fields and captcha tokens supported by the public endpoint.
By Platform
Frameworks
HTML, React, Next.js, Astro, Vue, Svelte, Angular, and Alpine patterns.
Static Generators
Next.js, Astro, Nuxt, Hugo, Jekyll, Gatsby, Gridsome, and Eleventy setup examples.
Builders
Webflow, Framer, Wix, Carrd, Squarespace, Dorik, WordPress, and landing page builder setup.
WordPress
WordPress block editor, Elementor, and Oxygen Builder setup.
Hosting
Vercel, Netlify, GitHub Pages, Cloudflare, DigitalOcean, AWS, and production checks.
Jamstack
Static-site form setup, deployed-domain testing, and production launch checks.
JSON Response
JavaScript submissions receive structured JSON with request IDs and echoed field data.
{
"success": true,
"message": "Email sent successfully!",
"requestId": "req-id",
"deliveryId": "delivery-id",
"body": {
"data": {
"name": "Ada",
"email": "[email protected]",
"message": "Hello"
},
"message": "Email sent successfully!"
}
}Reserved Fields
| Field | Behavior |
|---|---|
access_key | Required public form key, or use POST /submit/YOUR_ACCESS_KEY. |
apikey | Legacy alias for access_key. |
email | Included as reply-to and forwarded with custom fields. |
ccemail | Semicolon- or comma-separated CC recipients. Requires a paid/manual entitlement. |
webhook | HTTPS webhook URL for a queued JSON POST. Requires a paid/manual entitlement. |
subject | Overrides the form default subject when nonblank. |
from_name | Overrides the form default sender name when nonblank. |
replyto | Explicit reply-to override when nonblank. |
redirect | HTTPS redirect URL for browser form posts. Cross-domain redirects require a paid/manual entitlement. |
botcheck | Honeypot checkbox; filled values reject as spam. |
attachment | Conventional file upload field. |
h-captcha-response | hCaptcha verification token. |
recaptcha_response | Google reCAPTCHA v3 verification token. |
cf-turnstile-response | Cloudflare Turnstile verification token. |
Advanced Options
Combine reserved fields for full control over subject, sender, CC, webhooks, redirects, and captcha.
<form action="https://api.formsfort.dev/submit" method="POST" enctype="multipart/form-data">
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY" />
<input type="hidden" name="subject" value="New Submission" />
<input type="hidden" name="from_name" value="Website Contact" />
<input type="hidden" name="replyto" value="[email protected]" />
<input type="hidden" name="ccemail" value="[email protected]; [email protected]" />
<input type="hidden" name="webhook" value="https://example.com/webhook" />
<input type="hidden" name="redirect" value="https://example.com/thanks" />
<input type="checkbox" name="botcheck" style="display:none" />
<input type="hidden" name="recaptcha_response" id="recaptchaResponse" />
<input type="file" name="attachment" />
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>