Formspree runs your form. Doorman reads it.

Formspree is a solid, complete form backend: storage, email, integrations and a form builder. If spam is the problem, Doorman is the specialist: it reads every message, explains each call, and costs far less per submission.

Start free

Free for 1,000 checks a month. Paid plans from $12. No card required.

Example: Doorman screening contact form, each judged in under half a second and delivered or kept out with the reason.

Sound familiar?

Priced by submission

The free plan is 50 submissions a month, and spam uses them up too.

Advanced filtering costs more

The tunable spam filter starts on the $20 Professional plan.

No reason per submission

The docs describe sensitivity levels, not why a given message was filtered.

Doorman and Formspree, side by side

QuestionDoormanFormspree
What it isA screening layer: judges, forwards and keeps submissionsA full form backend: storage, email, integrations, a form builder
Spam checkingEvery submission read against what you sellAn ML filter, reCAPTCHA and a honeypot; advanced filtering on Professional
Why something was filteredThe exact sentenceNot published per submission
File uploads and form builderNoYes
PriceFree for 1,000 checks a month; Pro $12 for 25,000; Business $49 for 250,000Free for 50 submissions a month; Professional $20 for 2,000; Business $60 for 20,000

Their plans and behaviour as published on their own sites, checked 29 September 2026. Sources: formspree.io/plans, help.formspree.io/hc/en-us/articles/360013580813-Spam-filtering.

Which one is right for you?

Choose Doorman if

  • Spam is the problem you're trying to solve
  • You get more than a few hundred submissions a month
  • You want the reason for every decision and unsure ones held
  • You want sign-ups and checkouts screened as well

Choose Formspree if

  • You need file uploads, a form builder or submission storage with integrations
  • You don't have a backend and spam is a minor issue
  • Your form gets very few submissions

Switch in two minutes

  • Change one URL: set the form's action to your Doorman URL; field names are detected.
  • Where real ones go: email, Slack or a signed webhook, retried if your endpoint is down; everything is also in your inbox.
  • Or ask your agent: copy one prompt into Claude Code, Codex or Cursor and it does the swap.
  • Start safely: watch mode delivers everything for a week and tags what it would have dropped.

Read the docs

Before → after
<!-- before: posts to Formspree -->
<form action="https://…formspree…/your-form" method="POST">

<!-- after -->
<form action="https://withdoorman.com/f/f_yourForm" method="POST">

Checked, not guessed

Every decision comes from Doorman's models reading the submission, in milliseconds, with the reason attached.

13/13agency and SEO pitches dropped in our labelled contact-form set
0genuine enquiries dropped; the unsure ones were held and forwarded to you
162 msmedian to judge a submission, before the thank-you page loads

Labelled test set: 104 invented but labelled contact-form and checkout submissions, judged live; latency is the median of those checks. Questions were not tuned to the set.

Questions

Does Doorman store submissions?

Yes, in your inbox for your plan's retention period (30, 180 or 365 days), and it forwards the real ones to email, Slack or a webhook.

Can I keep Formspree?

If your server posts to Formspree, call Doorman first and only send what it delivers. For a plain HTML form, point it at Doorman instead.

Does it handle file uploads?

No. Doorman reads the text fields; file uploads are ignored.

How much does it cost?

Free for 1,000 checks a month. Pro is $12 a month for 25,000 and Business is $49 a month for 250,000. Every plan gets the same models. See pricing.

Try it on your own forms

Free for your first 1,000 checks every month. Start in watch mode and see every call before you trust it.