Why sites move off Akismet
Akismet's free Personal plan is for personal sites. A business or commercial site needs a paid plan.
comment-check answers in plain text: true for spam, false for not, and anything else is an error that still arrives with status 200. There is no score, so there is nothing to hold a borderline message on.
Akismet grew up on blog comments, and its parameters still say so: blog, comment_author, comment_content. Classify takes the form as it arrived, whatever its fields are called.
What maps to what
- Key
- Akismet
api_keyin the body - ClassifyA secret key, as a bearer token, an
X-Api-Keyheader orsecretKey
- Endpoint
- AkismetPOST to
/1.1/comment-checkon rest.akismet.com, form-encoded - ClassifyPOST to
/classifyon api.botpoison.com, form-encoded, as now; JSON also works
- What you send
- Akismet
user_ip,comment_author,comment_author_email,comment_contentand more - ClassifyThe same form fields, without
user_ip,blogorcomment_type
- Answer
- Akismet
trueorfalseas text, and a pro-tip header for blatant spam - Classify
label, spam or clean, ascorefrom 0 to 1, and themodel
- Errors
- AkismetStatus 200, with some other text in the body
- ClassifyA 4xx or 5xx status, with a JSON message
| Akismet | Classify | |
|---|---|---|
| Key | api_key in the body | A secret key, as a bearer token, an X-Api-Key header or secretKey |
| Endpoint | POST to /1.1/comment-check on rest.akismet.com, form-encoded | POST to /classify on api.botpoison.com, form-encoded, as now; JSON also works |
| What you send | user_ip, comment_author, comment_author_email, comment_content and more | The same form fields, without user_ip, blog or comment_type |
| Answer | true or false as text, and a pro-tip header for blatant spam | label, spam or clean, a score from 0 to 1, and the model |
| Errors | Status 200, with some other text in the body | A 4xx or 5xx status, with a JSON message |