A lightweight JavaScript and TypeScript SDK for submitting forms to StackVerify.
Collect submissions from any website or application without building your own backend. Every submission is securely stored, delivered to your StackVerify dashboard, and can trigger email notifications, webhooks, WhatsApp workflows, and future automations.
Building and maintaining infrastructure for a simple contact form shouldn't slow down your product.
StackVerify Forms gives you:
- Instant form endpoints
- Submission storage
- Dashboard for managing responses
- Email notifications
- Webhook support
- WhatsApp automation
- TypeScript support
- Framework-agnostic SDK
- Zero runtime dependencies
Instead of building APIs, databases, and notification systems, simply submit your data and let StackVerify handle the rest.

npm install @stackverify/formsyarn add @stackverify/formspnpm add @stackverify/formsCreate a form from your StackVerify dashboard.
You'll receive a unique Form ID.
import{submitForm}from"@stackverify/forms";awaitsubmitForm({formId: "frm_xxxxxxxxx",data: {name: "Jane Doe",email: "jane@example.com",company: "Acme Inc.",message: "I'd like to schedule a demo."}});Your submission is immediately available inside your StackVerify dashboard.
import{submitForm}from"@stackverify/forms";exportdefaultfunctionContactForm(){asyncfunctionhandleSubmit(e){e.preventDefault();constdata=Object.fromEntries(newFormData(e.target));awaitsubmitForm({formId: "frm_xxxxxxxxx",
data
});}return(<formonSubmit={handleSubmit}><inputname="name"/><inputname="email"/><textareaname="message"/><button>Send</button></form>);}import{submitForm}from"@stackverify/forms";awaitsubmitForm({formId: process.env.NEXT_PUBLIC_FORM_ID!,data: {
email,
message
}});import{submitForm}from"@stackverify/forms";awaitsubmitForm({formId: "frm_xxxxxxxxx",data: {
name,
email
}});import{submitForm}from"@stackverify/forms";awaitsubmitForm({formId: "frm_xxxxxxxxx",
data
});import{submitForm}from"@stackverify/forms";awaitsubmitForm({formId: "frm_xxxxxxxxx",data: {userId: 123,event: "signup"}});import{submitForm}from"@stackverify/forms";submitForm({formId: "frm_xxxxxxxxx",data: {email: "john@example.com"}});Every form automatically includes a public endpoint.
<formaction="https://stackverify.site/api/f/YOUR_FORM_ID" method="POST"><inputname="name"
required><inputtype="email"
name="email"
required><buttontype="submit">
Submit
</button></form>No backend required.
submitForm({
formId,
data,
timeout,
baseUrl,
fetch
});| Option | Type | Description |
|---|---|---|
| formId | string | StackVerify Form ID |
| data | Record<string, any> | Form data |
| timeout | number | Request timeout |
| baseUrl | string | Custom API URL |
| fetch | Fetch | Custom fetch implementation |
Built-in TypeScript definitions are included.
importtype{SubmitOptions}from"@stackverify/forms";| Frontend | Backend |
|---|---|
| React | Node.js |
| Next.js | Express |
| Vue | Bun |
| Nuxt | Deno |
| Angular | Fastify |
| Svelte | NestJS |
| SvelteKit | Cloudflare Workers |
| Astro | |
| Remix | |
| SolidJS | |
| Vite | |
| Vanilla JavaScript |
Application
│
▼
StackVerify Forms SDK
│
▼
StackVerify API
│
├── Stores submissions
├── Dashboard
├── Email notifications
├── Webhooks
└── Automation
- Contact forms
- Newsletter subscriptions
- Lead generation
- Landing pages
- SaaS onboarding
- Product orders
- Event registration
- Customer feedback
- Internal business tools
- Booking requests
- Waitlists
You could send requests manually using fetch.
The SDK provides:
- Consistent API
- TypeScript support
- Validation
- Better error handling
- Cleaner code
- Future compatibility as StackVerify evolves
MIT
Built for developers who want to ship forms, not infrastructure.
