Point your HTML form at one address — no server, no plugin. Try it here first with a live test address, no account.
- No surprise at 5,000. Message 5,001 is still saved in your inbox — never refused, never billed extra. Alerts pause until the 1st; the only stop is 10,000 in one month.
- Spam is checked on our server, not in the visitor's browser. Each caught message shows its reasons in a Spam folder with one-click “Not spam”, and spam never counts toward your 5,000. Files (5 per message, 10 MB) are included.
- Every month, every message: each Send on your site is checked, stored 12 months in the EU and passed to your e-mail, webhook, Slack or Discord — and 5,000 messages are included again on the 1st.
Example (made-up): a studio's contact form gets 6 messages in one day — 3 bots and 3 people, one of them a quote request with a budget of €2,400. A filter that only runs in the visitor's browser lets the bots straight through, and a strict one can bury the €2,400 request in spam, where it is lost with no reply. Here each message shows why it was kept or caught, and “Not spam” brings one back in one click.
Example: one day of a studio's contact form
1 · Build your form and try it live
Pick the fields. The form on the right is real: it posts to your live test address, and what arrives shows up below — with the spam check and the alert it would send. Test messages are kept 24 hours and are never e-mailed.
Paste the code below into your own page to test from your site — messages appear here while this page is open.
Live test inbox
- Nothing yet — press Send in the form above or post from your own page.
2 · Check any message for spam
Paste a message you received. The same rules run on our server for every real message.
3 · Your own form addresses full version
With the full version your form gets its own address, and real messages go to you — not to a test inbox:
- 5,000 real messages a month · up to 50 forms · message 5,001 still saved, nothing billed extra
- Spam filter on our server with a Spam folder and “Not spam”; spam never counts
- File uploads: 5 files and 10 MB per message, kept 90 days, linked in the alert
- Alerts: e-mail (our sender up to 25 a day, or your own mailbox — Gmail, Outlook, any SMTP — for every message), signed webhook, Slack, Discord
- Only your websites may post (allowed domains), your thank-you page, your subject line
- Inbox kept 12 months in the EU · CSV and JSON export
Your key is active. Create your account: your first form address is made at once.
Already made one with this key on another computer? Pressing the button opens the same account here.
Spam is kept 30 days, never e-mailed and never counted. Files sent with spam are not kept.
Your own mailbox — every message by e-mail, sent from your own address
Gmail: turn on 2-step verification and make an app password (Google Account → Security → App passwords), host smtp.gmail.com, port 465. The password is stored encrypted and never shown again.
Webhook · Slack · Discord
Header X-Signature: sha256=… = HMAC-SHA256 of the body with your secret
Download every message of the inbox (or the spam folder) with all fields, files as links, date and form.
Delete the account: all forms stop at once, every message and file is deleted.
One flat price
5,000 real messages every month, spam filter, files, webhook, Slack, Discord, export — all in the same plan. Message 5,001 is still saved and nothing is billed extra. Renews monthly or yearly until you cancel in your Whop account.
Free, no account: form builder, live test address with its inbox, spam checker. What is not included: a captcha widget (the checks run on our server instead) and auto-replies to your visitors.
Questions
What happens at 5,000 messages?
Messages keep arriving and are saved in your inbox. E-mail, webhook, Slack and Discord alerts pause until the 1st of next month, and you get one e-mail at 4,000 and one at 5,000. Nothing extra is charged. Only above 10,000 messages in one month does the form answer “please try again next month”.
Will every message reach my e-mail?
Our sender e-mails up to 25 messages a day per account. Add your own mailbox (Gmail, Outlook, any SMTP, or a Resend/Postmark/SES/SendGrid/Mailgun/Brevo key) and every message is e-mailed from your own address — it also lands in your inbox instead of spam more often. Webhook, Slack and Discord get every message either way.
Where are messages stored?
In the EU, in a Cloudflare Durable Object of your own account (EU jurisdiction): messages 12 months, spam 30 days, files 90 days. E-mail alerts through our sender go through Resend.
Does it work with a plain HTML site, Astro, Next.js, Hugo, Webflow or WordPress?
Yes — it is one address in your form's action, or one fetch call. No server and no plugin.
contact form API · ReadyStack · the form address host is contact-form-api.pages.dev




Code theme for long sessions: no colour below 4.5:1 — even on the selection
Design Patterns in Java: pick the problem in your code, get the pattern as a short Java file that runs
Your Obsidian vault, set up in one click — in your language
Not another markdown pack: hooks that run every session
Claude skills youtube – YouTube Channel Operator
Every ChatGPT, Claude and Gemini chat — saved on your computer, searchable in one place.
How much ChatGPT, Claude and Gemini you have left — and a way past the limit.