Etariosk Form
No backend · No SMTP · One endpoint

Your contact form doesn’t need a backend.

Point the action at an Etariosk Form endpoint and every submission lands in your inbox — stored, spam-filtered and searchable. No server to run, no SMTP account to configure, no database to back up.

See how it works ↓

Free while it’s small: 300 emails a month, every submission stored.

contact.htmlFig. 01
<form action="https://forms.etariosk.com/f/a1b2c3" method="POST">
  <input name="email" type="email" required>
  <textarea name="message"></textarea>
  <input type="hidden" name="_key" value="ef_live_••••••••">
  <button type="submit">Send</button>
</form>
Send it however you like

One endpoint, one key, any transport.

It accepts multipart/form-data, urlencoded and JSON, so the transport is your choice.

The whole integration. No JavaScript at all.
<form action="https://forms.etariosk.com/f/a1b2c3" method="POST">
  <input name="email" type="email" required>
  <textarea name="message"></textarea>
  <input type="hidden" name="_key" value="ef_live_••••••••">
  <input type="hidden" name="_redirect" value="https://yoursite.com/thanks">
  <button type="submit">Send</button>
</form>
What you get

A form-to-email API, and nothing else.

No form builder, no analytics, no CRM. What it does do, it does properly.

One endpoint per form

Every form gets its own URL and API key. Rotate a key without touching the others; retire a form and its endpoint stops accepting anything.

Confirmed delivery addresses

An address receives nothing until its owner clicks a confirmation link. That's what stops the sending domain being aimed at a stranger's inbox.

Teammates, with roles

Invite people as admins or viewers. Viewers read forms and submissions; they never see an API key or a button that would only fail.

Spam filtering, three levels

Honeypot fields and per-IP flood detection as standard; strict adds link and language heuristics. Spam is stored and labelled, never silently dropped.

Origin allowlisting

Pin a form to the domains you actually publish it on, and a key lifted from your HTML is useless anywhere else.

Full submission history

Every submission is stored with its payload, origin, delivery status and message ID — searchable, filterable, and readable long after the email is buried.

Redirect or JSON

Add _redirect and the browser lands on your thank-you page; leave it off and you get JSON back. Same endpoint either way.

Built for agents

A machine-readable guide at /llms.txt and a copyable prompt pre-filled with your endpoint, so an AI coding agent can wire it up unattended.

How it works

From a plain HTML form to your inbox, in four steps.

01
Sign in with Google

Your Google address becomes the first delivery address, already confirmed. Nothing else to configure.

02
Get approved

Every account is reviewed by hand — usually inside a day. It's what keeps the endpoints from becoming a spam relay.

03
Copy key + endpoint

Your workspace starts with one form, one URL and one key. Add more forms whenever you need them.

04
Paste and ship

Any HTML form works — static sites, landing pages, docs. Submissions arrive as email and appear in your dashboard.

What happens to a submission

Step 1
Submission arrives

Stored first, always — before any spam check or quota maths runs.

Step 2
Checked

Honeypot, flood detection and, on strict, link and language heuristics.

Step 3
Delivered

Emailed to every confirmed address. One submission costs one email, however many addresses that is.

Step 4
Recorded

Delivery status, message ID and any error land on the submission, so a failure is visible rather than lost.

Built for

For anyone who’d rather not run a server.

Static sites

Jekyll, Astro, Hugo, a hand-written index.html on GitHub Pages — no build step, no JavaScript.

Landing pages

Waitlists and enquiry forms that need to work the hour they go up, not after a backend exists.

Docs sites

“Was this helpful?” and feedback boxes, without wiring a docs generator to a database.

Client work

Hand a site over with a working contact form and no server for anyone to maintain afterwards.

Internal tools

Small request and intake forms where standing up a service would cost more than the form is worth.

Agent-built apps

A generated app can be wired to a real, live inbox in the same pass that writes the markup.

Limits, plainly

No billing. No plans. One simple quota.

There’s a monthly email quota, and this is exactly what it does.

300
emails / month

Per organization, not per form. Ask for more from the dashboard and it's raised by hand — there's no plan to upgrade to, because there are no plans.

1
email per submission

Fanning out to five confirmed addresses still costs one. The quota counts submissions forwarded, not messages sent.

stored submissions

Storage isn't metered and isn't gated. Past the email quota the endpoint still returns 200 and still records everything — only the forwarding pauses.

0
rate-limit rejections

The endpoint never returns 429. A form on your live site should not start failing because a month was busy.

For AI coding agents

Wiring this up with an agent?

Pasting this prompt into Claude Code, Cursor, or similar hands an agent everything it needs to integrate Etariosk Form — no hand-holding.

Prompt — paste into Claude Code, Cursor, or similar
Add Etariosk Form to the form(s) in this project so submissions arrive as email. Read the integration guide at https://forms.etariosk.com/llms.txt and follow it exactly — reuse my existing form markup where one already exists rather than replacing it, or create a minimal new one per the guide if there isn't one yet.

My endpoint: <your-endpoint>
My API key: <your-api-key>

Sign in and get approved first — this exact prompt is pre-filled with your real endpoint and key on your . Agents can also read the guide directly at forms.etariosk.com/llms.txt.

Questions

The fine print, answered.

Why is signup approved by hand?

An open form-to-email service is a spam relay with extra steps. Reviewing accounts is the cheapest thing that stops that, and it usually takes under a day. If someone invites you to their organization, you skip the queue entirely.

Why Google only?

No passwords to store, leak or reset, and the address you sign in with is one Google has already verified — which is why it becomes your first delivery address without a confirmation email.

What happens when I hit the quota?

Submissions keep arriving and keep being stored; the forwarding email pauses. The endpoint still returns 200, so nothing on your site breaks, and the dashboard shows exactly what wasn't delivered and why.

Can I send from my own domain?

Not today. Mail goes out from the Etariosk Form sending domain with the submitter's address as reply-to, so hitting reply in your inbox answers the person who filled in the form.

Is the submission payload stored?

Yes — every field, exactly as posted, so you can go back to it long after the email is buried. You can delete any submission from the dashboard, and retiring a form stops new ones at the endpoint.

What if the email fails to send?

The submission is already stored by then; the failure is recorded on it and shown in the dashboard. That ordering is deliberate — a bounced email should never be the same thing as a lost enquiry.

Can I see an API key again later?

No. Keys are stored hashed, so a key is shown once, when it's created or rotated. Lost it, rotate it — the old one stops working immediately.

Does it work with static sites?

That's the main thing it's for. A plain HTML form on GitHub Pages, Netlify, Vercel or an S3 bucket needs no JavaScript and no build step to use this.

One URL between your form and your inbox.

Sign in with Google, wait for approval, paste the endpoint. Nothing to install, and nothing to keep running afterwards.

Etariosk Formform to email, nothing elseApproved accounts only · 300 forwarded emails/month per org, unlimited storage