Examples
Copy-paste these snippets into your website. Replace YOUR_ACCESS_KEYwith your form's access key from the dashboard.
Contact form
Classic contact form with name, email, and message.
Preview
<form action="https://api.lazyforms.com/f/YOUR_ACCESS_KEY" method="POST">
<input type="text" name="name" placeholder="Name" required />
<input type="email" name="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<button type="submit">Send</button>
</form>Newsletter signup
Minimal email capture form for newsletters.
Preview
<form action="https://api.lazyforms.com/f/YOUR_ACCESS_KEY" method="POST">
<input type="email" name="email" placeholder="you@example.com" required />
<button type="submit">Subscribe</button>
</form>Feedback form
Collect user feedback with a rating and comment.
Preview
<form action="https://api.lazyforms.com/f/YOUR_ACCESS_KEY" method="POST">
<select name="rating" required>
<option value="">Rate your experience</option>
<option value="5">Excellent</option>
<option value="4">Good</option>
<option value="3">Okay</option>
<option value="2">Poor</option>
<option value="1">Terrible</option>
</select>
<textarea name="feedback" placeholder="Tell us more..." required></textarea>
<input type="email" name="email" placeholder="Email (optional)" />
<button type="submit">Submit feedback</button>
</form>With honeypot spam protection
Add a hidden field to catch bots. Enable honeypot in your form settings.
Preview
<form action="https://api.lazyforms.com/f/YOUR_ACCESS_KEY" method="POST">
<input type="text" name="name" placeholder="Name" required />
<input type="email" name="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<!-- Honeypot: hide this from real users -->
<input type="text" name="_honey" style="display:none" tabindex="-1" />
<button type="submit">Send</button>
</form>AJAX / fetch (no redirect)
Submit via JavaScript for a seamless experience. No page reload.
Preview
<form id="contact-form">
<input type="text" name="name" placeholder="Name" required />
<input type="email" name="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required></textarea>
<button type="submit">Send</button>
</form>
<script>
document.getElementById('contact-form')
.addEventListener('submit', async (e) => {
e.preventDefault();
const data = new FormData(e.target);
const res = await fetch(
'https://api.lazyforms.com/f/YOUR_ACCESS_KEY',
{ method: 'POST', body: data }
);
const json = await res.json();
alert(json.success ? 'Sent!' : 'Error');
});
</script>Webhook integration
LazyForms POSTs JSON to your webhook URL on every submission. Set the webhook URL in your form settings.
// LazyForms sends this JSON to your webhook URL:
{
"form_id": "abc123",
"form_name": "Contact form",
"data": {
"name": "Jane Doe",
"email": "jane@example.com",
"message": "Hello!"
},
"submitted_at": "2025-01-15T10:30:00Z",
"ip": "203.0.113.1"
}