@stackverify/forms
v1.0.2
Published
API-first form, lead & order collection SDK. Works on Vercel, React, Next.js, and any frontend framework. No backend required.
Maintainers
Readme
StackVerify Forms
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.
Why StackVerify Forms?
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.
Installation
npm install @stackverify/formsyarn add @stackverify/formspnpm add @stackverify/formsQuick Start
Create a form from your StackVerify dashboard.
You'll receive a unique Form ID.
import { submitForm } from "@stackverify/forms";
await submitForm({
formId: "frm_xxxxxxxxx",
data: {
name: "Jane Doe",
email: "[email protected]",
company: "Acme Inc.",
message: "I'd like to schedule a demo."
}
});Your submission is immediately available inside your StackVerify dashboard.
React
import { submitForm } from "@stackverify/forms";
export default function ContactForm() {
async function handleSubmit(e) {
e.preventDefault();
const data = Object.fromEntries(
new FormData(e.target)
);
await submitForm({
formId: "frm_xxxxxxxxx",
data
});
}
return (
<form onSubmit={handleSubmit}>
<input name="name" />
<input name="email" />
<textarea name="message" />
<button>Send</button>
</form>
);
}Next.js
import { submitForm } from "@stackverify/forms";
await submitForm({
formId: process.env.NEXT_PUBLIC_FORM_ID!,
data: {
email,
message
}
});Vue
import { submitForm } from "@stackverify/forms";
await submitForm({
formId: "frm_xxxxxxxxx",
data: {
name,
email
}
});Svelte
import { submitForm } from "@stackverify/forms";
await submitForm({
formId: "frm_xxxxxxxxx",
data
});Node.js
import { submitForm } from "@stackverify/forms";
await submitForm({
formId: "frm_xxxxxxxxx",
data: {
userId: 123,
event: "signup"
}
});Vanilla JavaScript
import { submitForm } from "@stackverify/forms";
submitForm({
formId: "frm_xxxxxxxxx",
data: {
email: "[email protected]"
}
});HTML
Every form automatically includes a public endpoint.
<form action="https://stackverify.site/api/f/YOUR_FORM_ID" method="POST">
<input
name="name"
required>
<input
type="email"
name="email"
required>
<button type="submit">
Submit
</button>
</form>No backend required.
API
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 |
TypeScript
Built-in TypeScript definitions are included.
import type { SubmitOptions } from "@stackverify/forms";Supported Frameworks
| 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 | |
Typical Workflow
Application
│
▼
StackVerify Forms SDK
│
▼
StackVerify API
│
├── Stores submissions
├── Dashboard
├── Email notifications
├── Webhooks
└── AutomationUse Cases
- Contact forms
- Newsletter subscriptions
- Lead generation
- Landing pages
- SaaS onboarding
- Product orders
- Event registration
- Customer feedback
- Internal business tools
- Booking requests
- Waitlists
Why Use the SDK?
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
License
MIT
Built for developers who want to ship forms, not infrastructure.
