SnapForm Documentation
Collect form submissions from any website with one line of HTML. No backend required.
Quick Start
1. Create an Account
Sign up with your email and password. It's free.
2. Create a Form
Click "Create New Form" in your Dashboard and give it a name.
3. Copy the Endpoint
Get your unique form endpoint URL and HTML code snippet.
4. Start Collecting
Add the code to your website. Submissions appear in your Dashboard.
Integration
HTML Form
Add your SnapForm endpoint as the action attribute of any HTML form:
html<form action="https://www.snapform.cc/api/f/YOUR_FORM_ID" method="POST">
<input type="text" name="name" placeholder="Your name" required />
<input type="email" name="email" placeholder="Your email" required />
<textarea name="message" placeholder="Your message" required></textarea>
<!-- Honeypot anti-spam field (keep hidden) -->
<input type="text" name="_gotcha" style="display:none"
tabindex="-1" autocomplete="off" />
<button type="submit">Send</button>
</form>
You can use any field names you like. SnapForm automatically collects all form fields.
AJAX / JavaScript
For single-page apps or custom integrations, use fetch:
javascriptconst response = await fetch(
'https://www.snapform.cc/api/f/YOUR_FORM_ID',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'John',
email: 'john@example.com',
message: 'Hello!'
})
}
);
const result = await response.json();
// { success: true, submissionId: "..." }
SnapForm supports CORS, so you can call it from any domain.
Supported Content Types
application/x-www-form-urlencoded— default HTML form formatmultipart/form-data— forms with file uploadsapplication/json— AJAX / API calls
Features
| Feature | Description |
|---|---|
| Email Notifications | Get notified by email for every new submission. Includes the form name and all submitted data. |
| Webhooks | Receive submission data via POST to integrate with Slack, Zapier, or your own backend. |
| Spam Protection | Built-in honeypot mechanism filters spam bots. Supported field names: _gotcha, _honeypot, _hp. |
| CSV Export | Download all submissions as a CSV file. Compatible with Excel and Google Sheets. |
| Custom Redirects | Redirect users to a thank-you page after submission. Without a redirect URL, SnapForm returns a JSON response. |
Webhook Payload
json{
"formId": "form-id",
"formName": "Contact Form",
"submissionId": "submission-id",
"data": {
"name": "John Doe",
"email": "john@example.com",
"message": "Hello!"
},
"createdAt": "2026-02-27T10:30:00.000Z"
}
API Reference
Submit a Form
/api/f/{formId}
Submit data to a form endpoint.
| Status | Description |
|---|---|
201 | Submission successful |
303 | Submission successful, redirecting to configured URL |
404 | Form ID not found |
429 | Monthly submission limit reached |
500 | Internal server error |
Plans & Limits
| Free | Pro — $9/mo | Business — $29/mo | |
|---|---|---|---|
| Forms | 1 | 10 | Unlimited |
| Submissions/mo | 50 | 2,000 | 10,000 |
| Email Notifications | Yes | Yes | Yes |
| Webhooks | Yes | Yes | Yes |
| Spam Protection | Yes | Yes | Yes |
| CSV Export | Yes | Yes | Yes |
| Priority Support | - | Yes | Yes |
When limits are exceeded: creating a new form beyond your limit will prompt an upgrade, and submissions beyond your monthly quota will return a 429 error.
FAQ
Can I use SnapForm with React / Vue / other frameworks?
Yes. SnapForm provides a standard HTTP API. Any framework that can send HTTP POST requests can use it. See the AJAX example above.
Are there any restrictions on field names?
No. You can use any field name. Just avoid the reserved honeypot names: _gotcha, _honeypot, _hp.
Where is my data stored?
Your submission data is stored securely in our database. You can view it anytime through the Dashboard or export it as CSV. See our Privacy Policy for details.
How do I cancel or get a refund?
You can cancel your subscription at any time. Refunds are available within 7 days of purchase. See our Refund Policy for details.