One line, wherever your site lives.
No DNS records, no SMTP account, no server. Get a YOUR_FORM_ID by running npx nintact init or by signing up.
Plain HTML
Drop this where the form should appear. It renders in place — not in an iframe.
<script src="https://nintact.com/embed.js"
data-nintact="YOUR_FORM_ID" async></script>You already have a form
Keep your markup and styles. Only the action changes.
<form action="https://nintact.com/api/f/YOUR_FORM_ID" method="POST">
<input name="name" required>
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>Next.js / React
Works in the App Router with no server code. Static export is fine.
// npm i nintact
import { NintactForm } from "nintact/react";
export default function Contact() {
return <NintactForm formId="YOUR_FORM_ID" />;
}Your own form (fetch)
The endpoint is public and CORS-open by design. Never put an API key in client code — you do not need one here.
await fetch("https://nintact.com/api/f/YOUR_FORM_ID", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ name, email, message }),
});Astro / Nuxt / SvelteKit
Static output is fine. There is no server and no SMTP account involved.
<!-- .astro / .vue / .svelte template -->
<script src="https://nintact.com/embed.js"
data-nintact="YOUR_FORM_ID" async></script>WordPress
Custom HTML block. No plugin.
<script src="https://nintact.com/embed.js"
data-nintact="YOUR_FORM_ID" async></script>Framer / Webflow / Wix / STUDIO
Use the embed or custom-code block.
<div data-nintact="YOUR_FORM_ID"></div>
<script src="https://nintact.com/embed.js" async></script>From the terminal
npx nintact init # create a form, print the snippet
npx nintact messages # read what came in
# MCP (Claude Desktop, Cursor, …)
npx nintact-mcpAuthentication is a six-digit code by email — no browser round trip. Everything the dashboard can do is in the API, described for agents at /llms.txt.
Check whether your current form even delivers
We read the live SPF, DKIM, DMARC and MX records for your domain and tell you what is missing. No account needed.
Run the check