Classify

Spam classifier. Catch spam, whoever wrote it

Send a message, get back spam or clean. Our own model, trained on two years of real form submissions, reads what was written.

No credit card required.

Fig. 1Contact form, this morning

  • I noticed your site is not on page one for your main keywords. We can fix that this month for a flat fee.0.8+Spam
  • Hi, could you send a quote for 40 seats? We start in March.0.03Clean
  • Your domain listing expires in 48 hours. Pay the renewal invoice at the link below to keep it.0.8+Spam
  • Is there a nonprofit discount? Our site is in my signature.0.62HeldClean
  • We build web apps for 40% less than local agencies. Can I send you our portfolio?0.8+Spam

Before and after. Eight messages in. Three worth reading

The same morning's inbox, once Classify has read it.

ABefore: 8 messages

  • Marcus, SEO consultantI noticed your site is not on page one for your main keywords. We can fix that this month for a flat fee.
  • Jordan LeeHi, could you send a quote for 40 seats? We start in March.
  • Domain ServicesYour domain listing expires in 48 hours. Pay the renewal invoice at the link below to keep it.
  • Alex MoreauIs there a nonprofit discount? Our site is in my signature.
  • Priya, DevOffshoreWe build web apps for 40% less than local agencies. Can I send you our portfolio?
  • Agentur WeberWir steigern Ihre Google-Bewertungen in nur 7 Tagen. Antworten Sie für ein kostenloses Angebot.
  • Daniel KimThe download link in my receipt does not work. Order 10482.
  • Lena K.Great article! I wrote about the same thing on my blog, worth a look for your readers.

BAfter: 3 to read

  • Jordan LeeCleanHi, could you send a quote for 40 seats? We start in March.0.03
  • Alex MoreauHeldCleanIs there a nonprofit discount? Our site is in my signature.0.62
  • Daniel KimCleanThe download link in my receipt does not work. Order 10482.0.05

The other 5 carry the spam label. File them away, out of sight, in case you ever want to look.

How it works. One request between a form and a verdict

  1. Your server sends the submission

    POST the form's fields as they arrived, or one string. Your secret key goes in a header or the body.
  2. Classify reads it

    A label comes back, spam or clean, with the score behind it and the model that answered.
  3. You decide what happens

    Deliver clean messages, file spam away, and hold the borderline ones for a person if you want a review queue.

What gets through. Spam that reads like a real message

Some are typed by people, some by bots good enough to pass a test for humans. Classify reads what they say, so it catches both. Most arrive in English, not all of them.

SEO pitch

English
I noticed your site is not on page one for your main keywords. We can fix that this month for a flat fee.
Spam

Scam

English
Your domain listing expires in 48 hours. Pay the renewal invoice at the link below to keep it.
Spam

Cold outreach

English
We build web apps for 40% less than local agencies. Can I send you our portfolio?
Spam

Link drop

English
Great article! I wrote about the same thing on my blog, worth a look for your readers.
Spam

Reviews offer

German
Wir steigern Ihre Google-Bewertungen in nur 7 Tagen. Antworten Sie für ein kostenloses Angebot.
Spam

Link selling

French
Bonjour, nous proposons des backlinks de qualité à prix réduit pour votre site.
Spam

Written by us in the style of real submissions.

Never lose a lead. Put the borderline ones in front of a person

Spam from 0.8 is filed away. Below it, you choose where a review queue starts, and see what it will hold before you ship.

Choose your review queue

Hold for review from a score of

About 1 in 111 good messages held

Spam, filed away
0.8 and above
Held for a person
0.5 to 0.8
Delivered
below 0.5
Good messages held
about 1 in 111
At your volume
about 5 a month

1,000 good messages

  • Delivered
  • Held for review

Rates across all the good form submissions in Botpoison's reference set. A single site's own rate is usually higher, most of all on a new site.

Private by design. Read in the EU, by our own model

Our own model

Botpoison trained it and runs it. No outside AI vendor reads the message.

Runs in the EU

The model runs in the EU (Ireland), on Botpoison's own infrastructure.

Nothing in the browser

Classify is one call from your server. Your visitors load no script and see nothing new.

Test mode

With the test key, a marker in the message forces a spam verdict or an outage, and anything else answers clean. Test calls are never recorded and never count.

Switching. Off your spam filter in three edits

Swap the key, the request and the answer. Your form handler keeps its fields, its routes and its inbox.

Swap the key

Replace the Akismet API key with a Classify secret key, kept in your server's environment like the old one.

Shell
AKISMET_KEY=xxxxxxxx
BOTPOISON_CLASSIFY_SECRET_KEY=sk_xxxxxxxx

Point the request at Classify

Keep the form-encoded request and its comment fields. Swap the URL and the key, and drop blog, user_ip and comment_type.

JavaScript
const akismet = await fetch("https://rest.akismet.com/1.1/comment-check", {
const classify = await fetch("https://api.botpoison.com/classify", {
method: "POST",
body: new URLSearchParams({
api_key: process.env.AKISMET_KEY,
blog: "https://example.com",
user_ip: req.ip,
comment_type: "contact-form",
secretKey: process.env.BOTPOISON_CLASSIFY_SECRET_KEY,
comment_author: req.body.name,
comment_author_email: req.body.email,
comment_content: req.body.message,
}),
});

Read the label instead of the text body

Akismet answers "true" for spam in the response body. Classify answers JSON, with spam or clean as the label.

JavaScript
const isSpam = (await akismet.text()) === "true";
const isSpam = (await classify.json()).label === "spam";
if (isSpam) return fileAway(req.body);
Read the full Akismet guide

Better together. Classify reads the message. Challenge stops the bots first

Use one, or both. Together they stop bulk spam before it is sent, and read what still gets through after.

01Before the submit

Challenge

Invisible CAPTCHA alternative

Turns away scripts that skip the check, and makes every bot submission cost CPU time. Nobody sees a puzzle.

02After the submit

Classify

Spam classifier

Reads what got through and flags the pitches and scams in it, whoever wrote them.

Free to start. One plan covers both products

Every plan carries an allowance for each product. Using one never eats into the other, and no credit card is needed to start.

See plans and prices

classifications a month

Free
50
Standard
2,500
Plus
25,000
Pro
250,000

In short. The facts about Classify

  1. Botpoison Classify is a spam classifier API for form submissions. Your server sends the message and gets back spam or clean, with a score.

  2. It runs Botpoison's own model, trained on two years of real form submissions.

  3. The model runs in the EU (Ireland), on Botpoison's own infrastructure. No outside AI vendor sees the message.

  4. The Free plan includes 50 classifications a month, with no credit card.

Common questions

Anything else, ask us. We usually reply within a day.

Ask a question

The spam label starts at a score of 0.8. It flags about 1 in 1,000 good messages at 0.8, counted across all the traffic in our reference set. A single site's own rate is usually higher. You choose a different trade-off by choosing a different score: the scale is published, and every pinned model is fitted to it.

Read the real messages. Skip the rest

Stop spam now
No credit card required
You set the review queue
Runs in the EU
Free to start