Gatsby contact form without Gatsby Functions

Gatsby's static-first approach plus React for hydration is great for content-heavy sites. Forms are the awkward part - you need a backend. Formspring lets you keep the static promise: add the endpoint URL to your form action, ship. No Gatsby Functions, no Netlify Functions, no third-party hooks. Just one URL.

Working code

<form action="https://formspring.io/f/abc123" method="POST">
  <input name="name" required>
  <input type="email" name="email" required>
  <textarea name="message" required></textarea>
  <button>Send</button>
</form>

How it works

You sign up at Formspring, create a form, and copy its endpoint URL (https://formspring.io/f/abc123). Drop that URL into your <form action> attribute - that's the entire integration. Submissions go through five spam-protection layers (honeypot → hCaptcha → custom rules → Akismet → AI moderation) and arrive in your dashboard within seconds. From there, fire signed webhooks to your stack (Slack, Notion, Airtable, custom endpoint), email yourself, or process via API.

Why this beats serverless functions

A serverless contact form means: writing a function, parsing form data, validating fields, handling spam, configuring SMTP, storing submissions, dealing with timeouts, debugging cold starts, paying for invocations, and maintaining all of that. Formspring replaces it with one URL. The math is one-sided unless you have a specific reason to control every layer.

Security and privacy

Submissions are encrypted in transit and at rest. Files (if uploaded) sit in private S3-compatible storage and are only accessible via signed URLs from the dashboard. EU-only hosting (Hetzner Falkenstein/Helsinki). DPA included on every paid plan. Per-form retention rules let you auto-delete after N days for GDPR.

When to NOT use a hosted form backend

Three cases where you should build it yourself: (1) you're already running a backend and form submission is one of dozens of endpoints, (2) you need extreme low-latency processing (<10ms p99), or (3) compliance requires absolute zero data egress. For everything else - and 95% of contact forms fall outside those - Formspring is the simpler answer.

Frequently asked

Will this work with my gatsby setup?
Yes. Formspring is host-agnostic and framework-agnostic - it's just an HTTP POST endpoint. Whatever gatsby setup you have, it can submit a form.
Do I need to handle CORS myself?
No. Formspring's CORS is configured per-form. Add your site's origin in the dashboard, save, and the endpoint accepts cross-origin POSTs.
How do I customize the response?
Configure a redirect URL per form (default), return JSON for AJAX submissions (set `Accept: application/json`), or render a thank-you page. All three work without code changes.
What about spam?
Five spam-protection layers run by default: honeypot (free, automatic), hCaptcha (optional, free), custom rules (Pro+), Akismet (built-in), and AI moderation (Pro+). Combined detection is significantly higher than any single layer.
Is it free for hobby projects?
Yes. 50 submissions/month, 1 form, no credit card, no time limit. Perfect for personal sites, side projects, and proofs-of-concept.

Ship your form in two minutes.

No credit card. 50 free submissions a month, every month.