OOPSpam gives you a score. Doorman gives you the reason.
OOPSpam is the closest thing to Doorman: it reads content too, and it has good form-plugin integrations. The differences are what you get back, what happens with the unsure ones, and what it costs.
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?
A number to interpret
A 0–6 score and flags leave the threshold, and the hard cases, to you.
No ongoing free tier
40 free checks in total, then a paid plan.
Judged in general, not for you
Doorman judges each message against what your business sells, so an agency that wants your product still gets through.
Doorman and OOPSpam, side by side
| Question | Doorman | OOPSpam |
|---|---|---|
| What it checks | What the message asks for, against what you sell | A content model plus IP and email blocklists, with language and country filters |
| What you get back | Deliver, hold or drop, and the sentence that decided it | A 0–6 score and flags such as blocked IP, blocked email and spam words |
| Unsure submissions | Held and forwarded to you | Your code picks a threshold |
| Setup | A form URL, one API call, or your coding agent (MCP, llms.txt) | A REST API plus WordPress and form-plugin integrations |
| Price | Free for 1,000 checks a month; Pro $12 for 25,000; Business $49 for 250,000 | 40 free checks in total; Starter $23 a month for 25,000; Agency $69 for 300,000 |
Their plans and behaviour as published on their own sites, checked 29 September 2026. Sources: oopspam.com, oopspam.com/docs.
Which one is right for you?
Choose Doorman if
- You want a verdict and a reason, not a score to threshold
- You want unsure messages held for a person
- You want a real free tier and $12 for 25,000 checks
- You want sign-up and checkout screening in the same service
Choose OOPSpam if
- You need ready-made plugins for Gravity Forms, Contact Form 7, Elementor or Ninja Forms
- You want country and language blocking built in
- You need a million-plus checks a month on one plan
Switch in two minutes
- From your server: replace the OOPSpam call with one doorman.check call; act on deliver, hold or drop.
- Or no code: point the form's action at your Doorman URL and it forwards the real ones to you.
- 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.
const r = await doorman.check({ form: "f_yourForm", email, name, message });
// r.action: "deliver" | "hold" | "drop"
// r.evidence: "We can fix your local SEO in 30 days, guaranteed."Checked, not guessed
Every decision comes from Doorman's models reading the submission, in milliseconds, with the reason attached.
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
Is Doorman's decision a score too?
You get p_real (0–1) if you want it, but the answer is an action (deliver, hold or drop) and the sentence that decided it.
Does it block by country or language?
Not as a rule. Doorman judges meaning, and a short, badly written or non-English message is still judged as genuine if it is.
How does pricing compare at volume?
Pro is $12 for 25,000 checks and Business $49 for 250,000, with the same models on every plan.
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.