Forms on your site
without backend or widgets

Public POST /f/{id}. Embed a normal HTML form via fetch() — submissions arrive in Telegram, Max or email. Spam protection, routes and CSV export — included.

· Honeypot, time-to-submit, throwaway email blocklist, origin check

<form action="/f/demo_form">
Telegram
⌛ Waiting for submit…
POST /f/{form_id} origin-check · honeypot
0
lines of backend on your side
30
submissions/min per form rate limit
4
recipient types: TG, Max, email, subscribers
CSV
export up to 10,000 submissions

Without us

Why Typeform and Tilda aren't ideal

Leads get lost in email

Typeform sends notifications to email. In the morning there are 200 unread, the lead goes cold 12 hours later. Responding to customers promptly — impossible.

$25/mo from 100 submissions

Typeform Business — $83/mo. Tilda — from 150 ₽ per form. Behind that money is basically "a nice form and email notification".

Spam and bots

Without honeypot, time-to-submit, throwaway blocklist and keyword rules — 60% of submissions are spam. Clearing them manually — manager time.

What's inside

Not just a form — a full lead-stack

Honeypot + time-to-submit

Hidden trap field with unique per-form name. Optional fill-time check (requires JavaScript), throwaway-email blocklist, and keyword filter. Bots are flagged as spam and don't reach recipients.

Throwaway email blocklist

~70 disposable mail domains (mailinator, tempmail, 10minutemail, etc.) — auto-marked as spam.

Submission routing

Conditional delivery: "if company contains b2b — to sales@, otherwise default". Up to 40 routes, actions deliver/mark_spam/block.

Spam folder

Flagged submissions are kept in a separate tab, not deleted. You can manually move them back to verified or vice versa.

Email verification

Email recipients confirm the address via a 6-digit code. Submissions go only to verified addresses — no risk of abuse.

CSV export + archive

All submissions in a table with status/period filters and search. CSV export up to 10,000 rows. Archive after 30 days, delete after 180.

How it works

Three steps to your first submission

01

Create a form

In the dashboard — "Forms → Create". Set a name and allowed_origins (domains to accept submissions from). Get a form_id.

02

Embed on your site

A regular HTML form or fetch('/f/form_id') with JSON. No API key — the endpoint is public but protected by origin check and rate limit.

03

Get it in your messenger

Configure routes: Telegram/Max to the developer, email, project subscribers. Webhook form.submitted — for CRM integrations.

FAQ

Frequently asked

No. Endpoint POST /f/{form_id} is public — you can call it from HTML right in the browser. Protection — via allowed_origins, honeypot, rate limit and time-to-submit.

Several layers: origin check → rate limit → honeypot → time-to-submit → throwaway email blocklist → keyword blocklist → mark_spam/block routes. Suspicious submissions land in the "Spam" tab.

Yes. Set redirect_url in form settings. For HTML forms without JS — 303 See Other. For JSON/AJAX — returns {ok:true}. Even spam/block redirects, to avoid revealing filtering.

You configure routes: email (verified), Telegram/Max to developer or team member, subscriber by ID, entire team at once. Up to 40 routes per form.

Yes. CSV export up to 10,000 rows is available on "Basic" plan and above, only for owner/admin roles. Plus a full REST API: list, search, filters.

0 credits — receiving a submission into DB is free. Only deliveries are billed: email = 2 credits, Telegram/Max to subscriber or developer = 1 credit.

Free to start

Hook up in 5 minutes

No credit card. 100 free credits per month — enough to try every feature.