Add a form to any HTML page
A plain <form> posting straight to the endpoint. No JavaScript, no build step, no server. Works on a hand-written page or a 2002 template.
- Free plan
- No plugin to install
- Set up in minutes
HTML in three steps.
- 1
Create a form and copy its Public Key
Sign up, create a form, and copy the Public Key from the form’s settings. The Public Key identifies which inbox responses land in.
- 2
Point your <form> at the endpoint
Set action to the complete submit URL, including the Public Key at the end, and use method POST.
- 3
Add inputs and publish
Give each input a name; names become the question labels in the inbox. Deploy the page and submit it once to see the response arrive.
Copy this into HTML.
Swap in your form’s key and submissions start landing in your inbox.
<form action="https://api.surveyowl.co/v1/submit/sk_live_…" method="POST">
<label for="email">Email</label>
<input id="email" name="email" type="email" required />
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<button type="submit">Send</button>
</form>What people build with it.
Contact form on a hand-written or static-site page.
Quick intake form on an internal tool with no backend of its own.
Landing pages where you want zero JavaScript between the visitor and the submit.
HTML forms, answered.
1. Create a form and copy its Public Key: Sign up, create a form, and copy the Public Key from the form’s settings. The Public Key identifies which inbox responses land in. 2. Point your <form> at the endpoint: Set action to the complete submit URL, including the Public Key at the end, and use method POST. 3. Add inputs and publish: Give each input a name; names become the question labels in the inbox. Deploy the page and submit it once to see the response arrive.
This is the whole idea in one tag: set the form’s action to its form-specific submit URL and the browser does the rest. If the page can be served, the form works: static hosting, a CDN, even a file:// preview.
Input names map to question labels, one field per question. Replace the sample Public Key in the action URL with the Public Key shown in your form settings.