API Documentation

Complete reference for integrating SeagullForm into your website. Get up and running in minutes.

Quick Start

Point your HTML form to your SeagullForm endpoint. That's all you need to get started.

Step 1: Get your endpoint

Create a form in the dashboard. Copy the endpoint ID.

Step 2: Add to your HTML

code
<form action="https://seagullform.com/api/submit/YOUR_ENDPOINT_ID" method="POST">
  <input name="email" type="email" required>
  <input name="message" required>
  <button type="submit">Send</button>
</form>

Step 3: Add spam protection

Add a hidden honeypot field. Bots fill it, humans don't.

code
<input type="text" name="_website" style="display:none" tabindex="-1" autocomplete="off">

Next.js Example

For JavaScript apps, send JSON requests to handle form submissions programmatically.

code
async function handleSubmit(e) {
  e.preventDefault();
  
  const res = await fetch("https://seagullform.com/api/submit/YOUR_ENDPOINT_ID", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      email: e.target.email.value,
      message: e.target.message.value,
    }),
  });
  
  if (res.ok) {
    // Success
  }
}

Response

code
{ "success": true }

Form Settings

Configure these settings in your dashboard to customize form behavior.

SettingDescription
nameDisplay name in dashboard
notificationEmailEmail for new submission alerts
successRedirectUrlRedirect here after success (optional)
errorRedirectUrlRedirect here on error (optional)
retentionDaysDays to keep submissions (default: 30)

Error Codes

Understand API responses and troubleshoot issues.

CodeDescription
200Submission accepted
302Redirect (if successRedirectUrl set)
400Invalid request body or content type
403Monthly submission limit reached
404Form not found (invalid endpoint ID)
429Rate limit exceeded (10 req/min per IP)

Rate limit headers

code
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1704067200000

Rate Limits & Quotas

Plan-based limits and rate limiting information.

LimitFreeBasicPro
Projects15
Forms per project110
Submissions/month501,000

Rate limiting: 10 requests/minute per IP per form

Request body size: 1 MB max

Security & Privacy

Data we collect

  • Form field data you submit
  • IP address of submitter
  • User agent (browser)
  • Timestamp

Spam protection

  • Honeypot fields: _website, _company
  • Blocked fields: password, card, ssn, credit_card
  • IP-based rate limiting

Data retention

Submissions auto-delete after retentionDays (default: 30). Configure per form. Deleted data is not recoverable.

Encryption

  • TLS 1.2+ for all connections
  • Data encrypted at rest

See Privacy Policy and DPA for full details.

Ready to get started?

Start building with SeagullForm today. No credit card required.

Start Free →