Next.js form backend without serverless functions

You don't need a Next.js API route or Server Action just to receive a contact form. Formspring is a hosted form backend that works with any Next.js setup - App Router, Pages Router, static export, server-rendered. Drop the endpoint URL into your form, ship. The page below shows the patterns for client components, server components, and full server actions if you want to keep submission inside Next.js for type safety while delegating storage to Formspring.

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 nextjs setup?
Yes. Formspring is host-agnostic and framework-agnostic - it's just an HTTP POST endpoint. Whatever nextjs 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.