Collect signups from your landing page
Add a working waitlist form to your landing page in 60 seconds. No backend code. No database. Just a Google Sheet and one API call.
Your Google Sheet should have these columns (first row = headers):
| name | source | created_at | status | |
|---|---|---|---|---|
| john@example.com | John Doe | landing-v1 | 2026-01-30 | pending |
| jane@example.com | Jane Smith | 2026-01-30 | invited | |
| ... | ... | ... | ... | ... |
email (required),
name (optional),
source (track where signups come from),
created_at (auto-filled),
status (for your workflow)
<form id="waitlist-form">
<input type="email" name="email" placeholder="Enter your email" required>
<input type="text" name="name" placeholder="Your name (optional)">
<button type="submit">Join Waitlist</button>
</form>
<script>
document.getElementById('waitlist-form').addEventListener('submit', async (e) => {
e.preventDefault();
const formData = new FormData(e.target);
const response = await fetch('https://api.getsheetapi.com/api/v1/YOUR_SHEET_ID', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
body: JSON.stringify({
email: formData.get('email'),
name: formData.get('name') || '',
source: 'landing-page',
created_at: new Date().toISOString().split('T')[0],
status: 'pending'
})
});
if (response.ok) {
alert('Thanks! You\'re on the list.');
}
});
</script>
This form is connected to a real Google Sheet via GetSheetAPI. Try it!
You're on the list!
Check the sheet to see your entry
Click the button above to copy our pre-configured Google Sheet to your Drive.
Share your sheet with getsheetapi@getsheetapi.iam.gserviceaccount.com (Editor access).
Paste your sheet URL in the dashboard. Get your API key and sheet ID.
Copy the code above, replace YOUR_SHEET_ID and YOUR_API_KEY, and you're live!
Get your waitlist API running in 60 seconds. Free tier included.