Static Forms - Secure form backend and form endpoint for contact formsStatic Forms - Secure form backend and form endpoint for contact forms
  • Home
  • Features
  • Docs
  • Blog
  • Pricing
Register
  • Home
  • Features
  • Docs
  • Blog
  • Pricing
Documentation

Learn how to use Static Forms

  • Introduction
  • Quick Start
  • Basic Setup
  • How It Works
  • Form Basics
  • API Key
  • Redirects
  • Overview
  • Honeypot Field
  • reCAPTCHA
  • Cloudflare Turnstile
  • hCaptcha
  • ALTCHA
  • Overview
  • Application Forms
  • Form Submissions
  • Webhooks
  • Auto Responders
  • Custom Email Templates
  • AI Reply
  • CC Emails
  • Branding & Custom Domain
  • File Uploads
  • Domain Restriction
  • Custom Subjects
  • Reply-To Address
  • Overview
  • Slack
  • Discord
  • Make
  • n8n
  • Google Sheets
  • Notion
  • Airtable
  • Overview
  • React
  • Next.js
  • Vue.js
  • Angular
  • Svelte
  • Astro
  • Plain HTML
  • Netlify
  • Vercel
  • Cloudflare Pages
  • GitHub Pages
  • WordPress
  • Webflow
  • Wix
  • Complete Reference
  • Account Settings
  • Pricing Plans
  • Overage Billing
  • Common Issues
  • Debugging
  • CORS Issues
  • Email Delivery
  • FAQ
  • Get Support
  • Changelog
Support

Troubleshooting

Common issues and their solutions

Form Not Submitting

Quick Checklist:

  • Verify your API key is correct
  • Check that the form action points to https://api.staticforms.dev/submit
  • Ensure the form method is set to POST
  • Check browser console for JavaScript errors
  • Verify CORS is not blocking the request

Common Causes

❌ Invalid API Key

Error: Invalid API key

Solution: Double-check your API key in the dashboard. Ensure there are no extra spaces or characters.

❌ Incorrect Form Action

Error: Form submits but nothing happens

Solution: Verify your form action URL:

HTML

❌ CORS Errors

Error: Access to fetch blocked by CORS policy

Solution: Static Forms supports CORS by default. If you see this error, check your browser console for the exact error message. Ensure you're using the correct endpoint URL.

❌ 403 — Domain Not Allowed

Error: Submissions from this domain are not allowed.

Solution: If you have domain restrictions enabled in your account settings, your form's origin domain must be on the allowed list. Add the domain (e.g. example.com) in your dashboard under Domain Restrictions, or disable the restriction entirely. See the domain restriction docs for details.

❌ 403 — CAPTCHA Verification Failed

Error: CAPTCHA verification failed. Please try again.

Solution: The CAPTCHA token was missing, expired, or invalid. Ensure the CAPTCHA widget completes before the form is submitted and that the token field name matches what Static Forms expects (g-recaptcha-response for reCAPTCHA v2, recaptchaToken for reCAPTCHA v3, cf-turnstile-response for Turnstile, or altchaToken for ALTCHA).

Email Not Received

⚠️ First Steps:

  1. Check your spam/junk folder
  2. Verify the email address in your account settings
  3. Check if you've exceeded your monthly limit
  4. Look for bounce notifications

Common Issues

📧 Email in Spam Folder

Emails may be filtered by spam filters. Check your spam/junk folder and mark the email as "Not Spam". Add noreply@staticforms.dev to your contacts to prevent future filtering.

🔒 Email Not Verified

Error: Email not verified

Solution: Verify your email address in your account settings. Check your inbox for the verification email.

📊 Monthly Limit Exceeded

Error: Monthly email limit exceeded

Solution: Check your current usage in the dashboard. Free tier: 500 emails/month, Pro tier: 25,000 emails/month. Limits reset monthly.

View pricing plans →

🚫 Form Submission Blocked by Spam Detection

No error shown, but email not received

Solution: If honeypot fields are filled or CAPTCHA fails, submissions are silently rejected. Check your form implementation:

  • Ensure honeypot fields are hidden from users
  • Verify CAPTCHA is properly configured
  • Check that form fields are not auto-filled by bots

📭 Account Email Address Has Bounced

API returns 200 (success), but no email is received

Cause: If a previous email to your account address was undeliverable (hard bounce), further delivery is automatically blocked to protect sender reputation. The form submission is still recorded in your dashboard, but no notification email is sent.

Solution: Update the email address in your account settings to a working address, then contact support to have the bounce record cleared.

File Upload Issues

💡 Remember: File uploads require a Pro tier account.

Common Problems

❌ File Too Large

Error: File is too large. Maximum allowed size is 5MB.

Solution: Maximum file size is 5MB per file. Compress images or split large files before uploading.

❌ Invalid File Type

Error: File type not supported

Solution: Supported formats: PDF, DOC, DOCX, JPG, PNG, GIF, WEBP, TXT, RTF. Ensure your file matches one of these types.

❌ Missing enctype Attribute

Error: Files not being uploaded

Solution: Add enctype="multipart/form-data" to your form:

HTML

🔒 Pro Tier Required

Error: File uploads require Pro tier

Solution: File uploads are only available for Pro tier accounts. Upgrade your plan to enable file uploads.

Upgrade to Pro →

Rate Limit Issues

📊 Understanding Limits:

  • Form submissions: Monthly email limits (500 Free, 25K Pro)
  • ALTCHA challenge: 10 requests per minute per API key

Common Errors

🚫 429 Too Many Requests

Error: Rate limit exceeded

For Form Submissions: You've exceeded your monthly email limit. Check your usage in the dashboard and wait for the monthly reset or upgrade your plan.

For ALTCHA Challenge: You've made more than 10 requests per minute. Wait a minute before retrying.

📈 Check Your Usage

Visit your dashboard to see your current usage and when limits reset. Free tier limits reset monthly, and Pro tier has higher limits.

CAPTCHA Issues

Common Problems

❌ CAPTCHA Provider Not Working

Check:

  • Site key and secret key are correctly configured in settings
  • The provider script is loaded before form submission
  • Field name matches your provider: g-recaptcha-response, recaptchaToken, cf-turnstile-response, or altchaToken
  • Your domain is registered with the provider if required

❌ ALTCHA Challenge Not Loading

Check:

  • ALTCHA script is loaded: altcha.min.js
  • Challenge URL is correct: https://www.staticforms.dev/api/altcha/challenge?apiKey=YOUR_API_KEY
  • ALTCHA is enabled in your account settings
  • Check browser console for JavaScript errors

API Key Issues

Common Problems

❌ Invalid API Key

Error: Invalid API key

Solution: Copy your API key directly from the dashboard. Ensure there are no extra spaces or line breaks. API keys are case-sensitive.

❌ API Key Missing

Error: API key is required

Solution: Ensure your form includes a hidden input field with your API key:

HTML

🔄 Regenerate API Key

If you suspect your API key is compromised, you can regenerate it in your account settings. Note: You'll need to update all forms using the old key.

Still Need Help?

If you're still experiencing issues, check out these resources:

API Reference

Complete technical documentation

Contact Support

Get help from our support team

Documentation

  • Introduction
  • Quick Start
  • Basic Setup
  • How It Works
  • Form Basics
  • API Key
  • Redirects
  • Overview
  • Honeypot Field
  • reCAPTCHA
  • Cloudflare Turnstile
  • hCaptcha
  • ALTCHA
  • Overview
  • Application Forms
  • Form Submissions
  • Webhooks
  • Auto Responders
  • Custom Email Templates
  • AI Reply
  • CC Emails
  • Branding & Custom Domain
  • File Uploads
  • Domain Restriction
  • Custom Subjects
  • Reply-To Address
  • Overview
  • Slack
  • Discord
  • Make
  • n8n
  • Google Sheets
  • Notion
  • Airtable
  • Overview
  • React
  • Next.js
  • Vue.js
  • Angular
  • Svelte
  • Astro
  • Plain HTML
  • Netlify
  • Vercel
  • Cloudflare Pages
  • GitHub Pages
  • WordPress
  • Webflow
  • Wix
  • Complete Reference
  • Account Settings
  • Pricing Plans
  • Overage Billing
  • Common Issues
  • Debugging
  • CORS Issues
  • Email Delivery
  • FAQ
  • Get Support
  • Changelog
Static Forms - Secure form backend and form endpoint for contact formsStatic Forms - Secure form backend and form endpoint for contact forms

The fastest way to add working contact forms to any website. No backend required.

Product

  • Features
  • Pricing
  • Documentation
  • Changelog

Resources

  • Blog
  • Examples
  • Templates
  • Tools
  • Integrations
  • reCAPTCHA Guide
  • FAQ

Alternatives

  • All Alternatives
  • Formspree
  • Netlify Forms
  • Typeform
  • Formspark

Company

  • Contact
  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • DPA

© 2026 Static Forms. All rights reserved.

Committed to sustainability