Formgopher Formgopher
  • Pricing
  • FAQ
  • Docs
Log in Get Started
  • Pricing
  • FAQ
  • Docs
Log in Get Started
← Back to home

Documentation

Last updated: August 1, 2026

Formgopher relays static-site form submissions to a real inbox: create a recipient, get an API key instantly, and paste a snippet into your form. No account or verification is required from whoever receives the mail.

On this page
  1. Getting started
  2. Embed snippet
  3. API reference
  4. Spam protection
  5. Origin locking
  6. Plans & limits

Getting started

  1. Create a free account.
  2. Add a recipient: give it a name and the destination email that should receive submissions. A key is generated instantly, nothing is required from that inbox's owner.
  3. Copy one of the snippets below into your site's contact form, using the key shown on that recipient's Overview page.
  4. Optionally lock the key to your site's domain under Origin locking.
  5. Test-submit the live form, then check the recipient's Submissions log for a “delivered” entry.

Embed snippet

Every recipient has its own key and ready-made snippets on its Overview page in the dashboard. The examples below show the same two variants with a placeholder key.

Plain HTML form

contact.html
<form action="https://formgopher.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="fg_live_your_key_here">
  <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>
  <input type="checkbox" name="_honeypot" style="display:none" tabindex="-1" autocomplete="off">
  <!-- Optional: send visitors to your own page after they submit -->
  <!-- <input type="hidden" name="redirect" value="https://yoursite.com/thanks"> -->
  <button type="submit">Send</button>
</form>

fetch() form

contact.html
<form id="contact-form">
  <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>
  <button type="submit">Send</button>
</form>
<script>
  document.getElementById('contact-form').addEventListener('submit', async function (e) {
    e.preventDefault()
    const formData = new FormData(e.target)
    formData.append('access_key', 'fg_live_your_key_here')
    const response = await fetch('https://formgopher.com/api/submit', {
      method: 'POST',
      body: formData,
    })
    if (response.ok) {
      alert('Message sent!')
      e.target.reset()
    }
  })
</script>

API reference

POST https://formgopher.com/api/submit

Accepts application/json, application/x-www-form-urlencoded, or multipart/form-data (required only when attaching a file, Warren plan only).

Fields

Field Required Notes
access_key Required The recipient's API key.
name Optional Included in the notification email.
email Optional Used as the reply-to address, so replying to the notification goes straight to the visitor.
message Optional Included in the notification email.
_honeypot Optional Leave this field empty in your form. If it arrives non-empty, the submission is treated as spam and silently dropped.
redirect Optional Where to send the visitor after a plain HTML form POST. Must match one of the recipient's allowed origins.
attachment Optional A single file, multipart only. Warren plan only, up to 5MB.
Any other field Optional Forwarded as-is into the notification email.

Response

Success
{
  "success": true
}
Error
{
  "success": false,
  "error": "Origin not allowed for this key"
}

A plain HTML form POST (no JavaScript) instead receives an HTML redirect to your redirect URL, or a built-in “message sent” page, rather than JSON.

Error codes

Status Meaning
400 Missing access_key.
404 Invalid access_key.
403 Origin not allowed, recipient inactive, plan's monthly submission limit reached, or blocked as possible spam.
429 Rate-limited: more than 20 requests/minute for this key.
502 Delivery to the recipient's inbox failed.

Spam protection (Warren plan)

Warren-tier recipients get a lightweight spam check on every submission, looking at things like suspicious links, spam-like keywords, and bursts of submissions from the same visitor. Per recipient, you choose whether flagged submissions still get delivered and are just tagged in the log (“flag”, the default), or are dropped before ever being sent (“block”). Free-tier recipients skip this check entirely.

Origin locking

By default, a key works from any site that submits to it. Adding one or more domains to a recipient's allowed origins restricts it to only accept submissions whose request origin matches, useful once a client's site is live. This is a separate, optional step from creating the recipient, so you can generate a key before a site even has a domain.

Plans & limits

Plan Recipients Submissions/mo CC emails Attachments Spam detection Price
Free 5 ~150 None None None $0
Warren Unlimited ~5,000 Up to 4 per recipient Up to 5MB/file Flag or block, per recipient $12/mo or $120/yr

Related reading

Pricing Privacy Policy Terms of Service
Formgopher Formgopher

Forms in, inbox out.

Product
  • Pricing
  • FAQ
  • Docs
  • Release Notes
  • Contact the dev
Legal
  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • Accessibility Statement
  • Acceptable Use

© 2026 Formgopher. All Rights Reserved.

Developed by AR Development · Web Apps