Skip to content

Quickstart

FormWire is a form backend for static sites: point any HTML form at one endpoint and every POST becomes an email in your inbox and a stored record you can query. No server, no SDK, no build step.

  1. Get your access key. Sign up and copy your access key from the dashboard. It’s public by design: it can only ever deliver mail to recipient addresses you’ve verified, so it’s safe to ship in your HTML.

  2. Point your form at the endpoint. Set your form’s action to https://api.formwire.io/submit and add the key in a hidden access_key field. Every named input becomes a line in the email.

  3. Submit and check your inbox. Send a test submission. It appears in your dashboard immediately and typically lands in your inbox within seconds.

Replace YOUR-ACCESS-KEY with the key from your dashboard.

<form action="https://api.formwire.io/submit" method="POST">
<!-- Your access key (safe to expose: delivery is locked to your email) -->
<input type="hidden" name="access_key" value="YOUR-ACCESS-KEY">
<!-- Any named inputs become the email body -->
<input type="text" name="name" required>
<input type="email" name="email" required>
<textarea name="message" required></textarea>
<!-- Honeypot: hidden from humans, catches bots (default field name: fax_number) -->
<input type="text" name="fax_number" tabindex="-1" autocomplete="off"
aria-hidden="true" style="position:absolute;left:-9999px" value="">
<button type="submit">Send</button>
</form>

No email arrived. Check three things in order: (1) your dashboard — if the submission is there, delivery is the issue, so check your spam folder and confirm your address is verified; (2) your access_key value matches the dashboard exactly; (3) the browser’s network tab — the API returns a JSON error message explaining what was rejected. See error codes.

Testing without polluting real data. Forms are unlimited on every plan. Create a second form just for testing, each with its own key.