SnapForm
Documentation

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 format
  • multipart/form-data — forms with file uploads
  • application/json — AJAX / API calls

Features

FeatureDescription
Email NotificationsGet notified by email for every new submission. Includes the form name and all submitted data.
WebhooksReceive submission data via POST to integrate with Slack, Zapier, or your own backend.
Spam ProtectionBuilt-in honeypot mechanism filters spam bots. Supported field names: _gotcha, _honeypot, _hp.
CSV ExportDownload all submissions as a CSV file. Compatible with Excel and Google Sheets.
Custom RedirectsRedirect 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

POST /api/f/{formId}

Submit data to a form endpoint.

StatusDescription
201Submission successful
303Submission successful, redirecting to configured URL
404Form ID not found
429Monthly submission limit reached
500Internal server error

Plans & Limits

FreePro — $9/moBusiness — $29/mo
Forms110Unlimited
Submissions/mo502,00010,000
Email NotificationsYesYesYes
WebhooksYesYesYes
Spam ProtectionYesYesYes
CSV ExportYesYesYes
Priority Support-YesYes

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.