Quick Start

Wire a form in minutes. Use an existing Form ID or create a private form that emails submissions to you

getting-started
quickstart tutorial setup

Quick Start

Wire a form in minutes. Use an existing Form ID or create a private form that emails submissions to you.

Ready in 60 Seconds

Follow these steps to get your first form submission working. No server setup, no database, no complex configuration.

Step 1: Get Your Form ID

You have three options for creating a form:

Option A: Quick Private Form (Easiest)

Use the form generator on our homepage—no signup required! Just enter your email and domain, and get a Form ID instantly with automatic email delivery configured.

Create Private Form on Homepage →

Perfect for testing and simple contact forms. Privacy mode enabled by default.

Option B: Use the Dashboard (Full Features)

Sign up for an account to create forms with analytics, multiple connectors, file uploads, and team management.

Go to Control Panel →

Best for production forms with advanced requirements.

Option C: Create via API (Programmatic)

Programmatically create private forms that email submissions to you.

curl -X POST "https://api.formfeeder.io/v1/forms/from-email" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "allowedDomain": "https://www.example.com"
  }'

Response: { "formId": "pvt_abcd1234", "allowedDomain": "https://www.example.com" }

Step 2: Add FormFeeder to Your HTML

Replace abcd1234 with your actual Form ID from Step 1.

Basic Contact Form

<form action="https://api.formfeeder.io/v1/form/abcd1234" method="POST">
  <label for="name">Name:</label>
  <input type="text" id="name" name="name" required />
  
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required />
  
  <label for="message">Message:</label>
  <textarea id="message" name="message" rows="4" required></textarea>
  
  <button type="submit">Send Message</button>
</form>

With File Uploads

Add enctype="multipart/form-data" to support file attachments:

<form action="https://api.formfeeder.io/v1/form/abcd1234" method="POST" enctype="multipart/form-data">
  <label for="name">Name:</label>
  <input type="text" id="name" name="name" required />
  
  <label for="resume">Resume:</label>
  <input type="file" id="resume" name="resume" accept=".pdf,.doc,.docx" />
  
  <button type="submit">Submit Application</button>
</form>

File limits: Default 5MB per file, 10MB total. Supported: images, PDFs, documents.

Step 3: Test Your Form

  1. Submit a test from your website (must be from your allowed domain)
  2. Check your configured destination (email inbox, Slack channel, etc.)
  3. If you get a 401 error, add your domain to the form's allowed domains list

What's Next?

JavaScript Examples →

React, Next.js, and fetch API integration patterns

Configure Connectors →

Set up email, Slack, and webhook destinations