★★★ Data stored in Europe No platform lock-in

Form handling
that doesn't make
you nervous.

Spam-free and GDPR-compliant static form backend. Block 84% spam automatically, store data in EU, works on any host you choose.

POST https://api.staticform.app/api/v1/forms/019be6a7...
Start for free

No credit card. 10 free credits per form.

Spam submissions don't count against your limit One dashboard for all your client sites Works on Vercel, GitHub Pages, Cloudflare, WordPress, anywhere

Every other option has a catch.

Most form backends work fine until they don't. Here's where things go wrong, and what StaticForm does instead.

Without StaticForm

Shared quota, shared risk

One noisy client or a bot attack eats into your submission budget. You pay for spam.

Platform lock-in

Your endpoint is tied to your host. Switch to a better host and your forms go silent.

Compliance guesswork

A client asks where their data lives. You check the docs, find "US-East", and panic.

Silent notification failures

An email action stops working. You find out when a client says they never received anything.

With StaticForm

Per-form quota isolation

Spam is filtered before it counts. Your limit is for real leads only, and other clients never affect yours.

Just an HTML attribute

Set action="https://api.staticform.app/..." and you're done. Change hosts any time, nothing breaks.

Data stored in the EU

One sentence answer for any EU client: "Yes, your data is stored in Europe." Done.

Execution logs for every action

Every notification attempt is logged with status and error detail. You'll know before your client does.

From signup to form live:
about five minutes.

Works for your first form. Works the same for your fiftieth client site.

1
1

Configure the form

Name the form, add fields, set up notifications. Copy the endpoint URL. Repeat for each client site, all managed from one dashboard.

2
2

Paste the endpoint

Set action="https://api.staticform.app/api/v1/forms/your-id" on your HTML form. That's the integration. Nothing else to install.

3
3

Ship and forget about it

Spam gets filtered. Submissions get stored. Notifications go out. You get an email (or Slack, or webhook). Your client is happy. You move on.

The backend you don't have to build

Inbox, spam filtering, notifications, and logs. Configure your form, copy the endpoint, paste it into your HTML.

Every submission in one place

All form submissions land in your inbox with read/unread tracking, timestamps, and full submitted data. Export to CSV whenever you need.

app.staticform.app
Every submission in one place

Point your form to our endpoint

Standard HTML forms. Just change the action attribute to your endpoint URL. We handle spam, notifications, and storage.

contact-form.html

Every lead delivered.
Even if it fails.

Email, Slack, Discord, or custom webhooks. Every submission is saved in Europe regardless. If a notification fails, the execution log tells you exactly why.

StaticForm Email Notification
From
noreply@staticform.app
To
you@example.com
Subject
New form submission: Contact Form
Message

Name: John Doe

Email: john@example.com

Message:

Interested in your product...

StaticForm Slack Webhook
S
# form-submissions
SF
StaticForm 7:09 PM

New Form Submission

Form:
Contact Form
email:
john@example.com
name:
John Doe
company:
Acme Inc
message:
Interested in your product. Would like to learn more about pricing and features.
StaticForm Discord Webhook
D
# form-submissions
SF
staticform APP 26-11-2025, 10:12
New form submission from Contact Form
Form Submission
Form Name:
Contact Form
Form ID:
019a302d-0a6e-70d4...
Submission Time:
2025-11-26 10:12 Europe/Amsterdam
email:
john@example.com
name:
John Doe
message:
Interested in your product. Would like to learn more about pricing and features.
StaticForm Custom Webhook
POST
api.yourcrm.com/webhook
Request Body (JSON)
{
  "formId": "abc123",
  "submissionId": "xyz789",
  "timestamp": "2024-01-15T14:34:00Z",
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "message": "Interested in..."
  }
}

Run all actions simultaneously. Email + Slack + Discord + webhook. Every submission saved automatically, even if all notifications fail.

If any action fails, the execution log shows you exactly what went wrong: status code, error message, and timestamp. No guessing, no digging through server logs.

Add forms to any website

Works with static sites, WordPress, or any site that can POST to an API. Point your form to our endpoint. We handle spam, notifications, and storage.

Contact Forms

Add contact forms to any website. Get email notifications, block spam automatically. Every submission saved in Europe, even if email fails.

Team Notifications

Send form submissions to Slack or Discord webhooks. Quick templates included. Keep your team notified instantly, even if email fails.

Static Website Forms

Perfect for static sites: Jekyll, Hugo, Gatsby, Next.js, GitHub Pages, Netlify, Vercel, Cloudflare Pages. No backend needed.

GitHub Netlify Vercel Cloudflare

Customer Feedback

Collect feedback on any website. Spam blocked automatically. All submissions saved in Europe. Export to CSV or JSON for analysis.

WordPress Forms

Use StaticForm with WordPress instead of clunky plugins. Point your form to our endpoint. Spam blocked automatically. All submissions saved in Europe.

Job Applications

Collect applications with file uploads. Get email/webhook notifications. Every submission saved automatically in Europe, even if notifications fail.

No quota anxiety. No lock-in. Data where it belongs.

StaticForm saved us hours every week. The spam protection is incredible. We went from filtering hundreds of spam messages to zero.

SM

Sophie Martin

Head of Growth

Setup takes 5 minutes. I use my own HTML and CSS. Spam protection works automatically. Perfect for our workflow.

LS

Leon Schmidt

Co-founder & CTO

The credit-based pricing is perfect for our business. We only pay for real submissions, not spam or failed attempts.

MvB

Maeve van der Berg

Founder

The notification system is a game-changer. We get submissions in Slack, email, and our CRM via webhook. All at once. Never miss a lead.

XA

Xander Andersson

Senior Product Manager

I had a form live in under 3 minutes. Copy the endpoint, paste it in my HTML, done. No backend code, no server setup. It just works.

AT

Aiden Thompson

Frontend Developer

Every submission is saved automatically, even if notifications fail. I sleep better knowing we'll never lose customer inquiries. The dashboard shows everything.

AR

Amara Rossi

Customer Success Manager

GDPR Compliant
99.9% Uptime

Pay only for real submissions.

Spam is always free. 1 credit = 1 genuine submission. Buy as you go, or save up to 80% with a monthly plan.

Pay as you go

€0.01 per submission

No monthly commitment. Buy a block of credits when you need them. Unused credits roll over.

Start here

10 free test credits included with every new form. No card required to start.

Save with a plan:

Solo

About 5 client contact forms

4 /month
500 credits/mo Save 20% vs PAYG
  • Email support
Get started

Freelancer

About 15 client contact forms

7 /month
1,500 credits/mo Save 53% vs PAYG
  • Email support
Get started
Best Value

Agency

About 40 client contact forms

15 /month
4,000 credits/mo Save 63% vs PAYG
  • Priority email support
  • Custom email branding
Get started

High volume

Studio High-volume agencies
10,000 credits/mo
29 /mo
Get started
Scale Enterprise workloads
20,000 credits/mo
49 /mo
Get started

Need more than 20,000 credits? Contact us for a custom plan.

All plans include

Unlimited forms

As many forms as you need

Spam protection

Multi-layer, always free

All submissions saved

Stored in Europe. Never lost.

Email notifications

Instant alerts with templates

Webhooks

Slack, Discord, custom endpoints

Top-up credits

Buy extra at €0.01/credit anytime

Frequently asked questions

How long does it take to set up a form?

About 5 minutes. Configure your form in the dashboard, copy the endpoint, paste it into your HTML. That's it.

Do I need to know how to code?

Minimal coding. Configure your form in the dashboard, then use standard HTML forms. Forms work with pure HTML. Configure success and error redirects in form settings. JavaScript is optional but well-supported for enhanced features like in-place validation.

Does it work on static websites?

Yes. Perfect for static sites. GitHub Pages, Netlify, Vercel, Cloudflare Pages, or any static host. No server needed. Just HTML forms pointing to our endpoint. That's the whole point.

How does spam protection work?

Multiple layers: honeypot fields, IP reputation blocking, content analysis, and language detection. Our system scores each submission and blocks spam automatically. You only see real submissions.

What if email notifications fail?

All submissions are saved automatically (stored in Europe) and accessible in your dashboard. Email failed? Check the dashboard. Webhook broken? It's there. Never lose a submission.

Can I see why a notification failed?

Yes. Every submit action execution is logged with its result status, timestamp, and error detail if it failed. If an email didn't arrive or a webhook returned a 500, you can open the execution log for that submission and see exactly what went wrong. No digging through server logs or guessing.

How many forms can I create?

Unlimited. Create as many forms as you need. No per-form fees. Only pay for submissions. (Fair, right?)

Do I get test credits?

Every form gets 10 test credits to get started. No credit card required to create forms. Try it, see if it works for you. (Spoiler: it will.)

Do I need JavaScript?

No, JavaScript is not required. Forms work perfectly with pure HTML. Configure success and error redirects in your form settings. Users are redirected automatically after submission. No JavaScript needed. JavaScript is well-supported if you want enhanced features. Validate fields in place before submission. Our API returns validation errors in ProblemDetails format, making it easy to show field-specific errors without page reloads.

Questions? We're
actually here.

Ask about pricing, integrations, GDPR compliance, or anything else. We reply within one business day.

support@staticform.app
Response within 1 business day
★★★
This form is powered by StaticForm

// get started

Stop losing sleep over
your clients' forms.

10 free test credits per form. No credit card. Data stays in Europe. Works on whatever host you're already using.

Set up your first form free

Ready to get started?

Add forms to your site in minutes