API routes are optional for contact forms
Next.js makes it easy to add app/api/... handlers - and easy to overbuild. For many marketing and product sites, a contact form only needs a reliable form API and email and WhatsApp delivery from one credit pool, not a custom mail stack. Credits meter usage across channels.
Platform notes
- Keep
'use client'on the form module only; leave data pages as Server Components. - Same package as React:
@formsreach/react. - Optional custom thank-you redirect is a Pro product capability - configure in the app when available.
Troubleshooting
- Hooks error / server component: Move the form into a file that starts with
'use client'. - Hydration warnings: Do not conditionally render the form only on the client without a stable placeholder if you also SSR different markup.
- Env keys: Prefer the app-issued API key in the form component for public contact forms (same model as other browser form APIs); never put private secrets in the client bundle that are not meant to be public form keys.