The Akismet alternative for sites that aren't only WordPress

Akismet has filtered WordPress comment spam for a very long time. If your forms live on Webflow, Framer, Next.js or your own backend, or you want to know why something was blocked, Doorman is built for that.

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?

WordPress-first

Akismet is best as a WordPress plugin. Elsewhere you integrate its API yourself.

True or false, no reason

The API answers spam or not spam. When a real lead is caught, you don't find out why.

Few checks per dollar

Commercial plans start at 500 checks a month for $9.95.

Doorman and Akismet, side by side

QuestionDoormanAkismet
What it checksWhat the submission says, against what you sellThe content and metadata, against Akismet's network
Why something was blockedThe exact sentenceNo reason: spam or not spam
Unsure submissionsHeld and forwarded to you, never lostNo middle ground
Where it worksAny stack: a form URL or one API call; agents set it upBest as the WordPress plugin; an API elsewhere
PriceFree for 1,000 checks a month, commercial use included; Pro $12 for 25,000Personal is pay what you can, non-commercial; Pro $9.95 a month (yearly) for 500 checks, Business $49.95 for 5,000

Their plans and behaviour as published on their own sites, checked 29 September 2026. Sources: akismet.com/pricing, akismet.com/developers/detailed-docs/comment-check.

Which one is right for you?

Choose Doorman if

  • Your site isn't WordPress, or not only WordPress
  • You want the reason for every decision
  • You get enough traffic that 500 checks a month won't do
  • You want contact, sign-up and checkout forms covered, not just comments

Choose Akismet if

  • You run a WordPress site and want a one-click plugin
  • It's a personal, non-commercial blog and pay-what-you-can suits you
  • Comment spam is your only problem

Switch in two minutes

  • From your server: replace the Akismet 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.

Read the docs

One call, with the reason
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.

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 have a WordPress plugin?

Not yet. On WordPress you can point a form plugin's webhook or a plain HTML form at your Doorman URL.

Can it moderate comments?

Yes: kind comment keeps promotion, link spam, harassment and threats out, and keeps honest criticism up.

What happens over my plan?

Nothing is dropped: submissions are held and forwarded unjudged, flagged, until the month resets.

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.