A contact form backend for any website
Keep the form you already have. Point it at your SendForm endpoint and every message is checked for spam, emailed to you and kept in your inbox. No server to run.
Every screen, from your site to your inbox
Six screens, and what you can do on each.
One contact form, many jobs.
The same simple contact form quietly does a lot of work. Here are the things people actually use a serverless contact form for.
Capture leads
Turn visitors into conversations. Collect a name, an email, and a note, then follow up while interest is hot.
Take support requests
Give customers a direct line for questions and issues, routed straight to the person who can help.
Field quote & booking requests
Let people describe a project, request a quote, or ask for availability without a clunky scheduling tool.
Collect partnership pitches
Open a channel for press, partnerships, and collaboration requests that does not clutter your personal inbox.
Gather feedback
Ask visitors what they think, what is missing, or what broke, with a form that takes seconds to fill in.
Route to the right place
Send each submission to an inbox, a Slack channel, a CRM, or your own webhook, based on the form it came from.
A contact form shouldn't need a server.
A contact form has one job: take a message and deliver it. Traditionally that simple job dragged in a whole backend. A serverless contact form removes it entirely.
The old way
Stand up a server or a PHP script just to call mail(). Now you own uptime, patches, and security for one contact form.
Wire up SMTP credentials, fight the spam folder, and bolt on a captcha the moment bots find your contact form.
Static hosts like GitHub Pages or Netlify can't run any of it, so a simple site suddenly needs a backend just to send an email.
With SendForm
Point your contact form at a hosted endpoint. There is no server to run, scale, or keep patched, ever.
Delivery, spam scoring, and verified notifications are handled for you, with DKIM and SPF already in place.
Your serverless contact form just posts to a URL, so it works on any static host while your site stays fast.
Built for anyone with a static site.
If your site can serve an HTML file, it can have a real contact form. No framework or backend skills required.
Freelancers & portfolios
Add a contact form to your portfolio in minutes and never miss an inbound project.
Small businesses
Give customers a reliable way to reach you, with messages landing in the inbox you already check.
Agencies
Ship client sites with working forms and group every project under its own SendForm project.
Developers
Skip the boilerplate backend. Post a form or call the endpoint with fetch() and get clean JSON back.
No-code & site builders
Using a static site generator or a builder that lets you edit HTML? Paste one URL and you are done.
Docs & SaaS sites
Add 'contact sales' or 'talk to us' forms to docs and marketing pages without touching your app's backend.
Everything a contact form needs
All the options in one place, so you can check SendForm fits before you sign up.
Endpoint
- HTML form actionWorks with any static site
- fetch() and JSONFor forms that stay on the page
Spam protection
- PrivCaptchaOn every plan
- Honeypot fieldOn by default
- Require JavaScriptBlocks direct posts from bots
After submit
- RedirectYour own thank-you page
- Pause the formWith an optional paused message
Notifications
- EmailTo your verified address
- More recipientsDepending on your plan
- Auto-replyA confirmation to the sender, on paid plans
Plugins
- Chat appsSlack, Discord, Telegram, Mattermost
- Custom webhookJSON to any URL, on paid plans
Files and data
- File uploadsAttachments with each message, on paid plans
- Inbox and analyticsSearch, filter and compare periods
- CSV exportDownload everything, on paid plans
Live in three steps
Keep your form, change one attribute.
-
1Step 1Create a contact form
Sign up and confirm the email that receives your messages.
-
2Step 2Paste your endpoint
Put it in the action of your form, or call it with fetch().
-
3Step 3Get messages
Spam is filtered, you get an email and every message is in your inbox.
Still just an HTML contact form.
No SDK, no build step. Swap the action URL for your own endpoint and your serverless contact form is live.
<form action="https://sendform.net/f/contact-9k2" method="POST"> <input name="name" placeholder="Name" required> <input type="email" name="email" placeholder="Email" required> <textarea name="message"></textarea> <button type="submit">Send message</button> </form>
Serverless contact form questions.
A serverless contact form is a normal HTML form that posts to a hosted endpoint instead of your own backend. There is no server to run, the form just sends each message to SendForm, which delivers it for you.
Point your form's action at your SendForm endpoint, or call it with fetch(). That is the whole setup, your serverless contact form is live on any static page in minutes.
Yes. Because a serverless contact form only posts to a URL, it runs anywhere you can host an HTML file, including GitHub Pages, Netlify, Vercel, and Cloudflare Pages.
Every serverless contact form gets automatic spam scoring, bot detection, and optional email verification, with DKIM and SPF on outgoing notifications, no captcha required.
Each message is stored in your dashboard and delivered to your inbox, a Slack channel, or your own webhook, so your serverless contact form reaches you wherever you work.
Yes. Redirect visitors to your own thank-you page after submitting, or request JSON and show a success state inline without leaving the page.
No. If you can paste a URL into an HTML form, you can run a serverless contact form. There is no backend, SDK, or build step to learn.
Yes. You can create a serverless contact form and start receiving messages on the free plan, with no credit card and no servers to manage.
Put a real contact form on your site.
Create your free account and get a working contact endpoint in two minutes. No servers, no credit card.






















