OOPSpam Spam Filter

FREEMIUM
By oopspam
Updated 16 days ago
Tools
8.6/10
Popularity Score
2379ms
Latency
98%
Success Rate

OOPSpam Spam Filter API Overview

OOPSpam Anti-Spam API helps you better identify and score spam content by combining the output of various tools such as machine learning algorithm, blacklisted IPs, the number of spam words within the content, etc.

Contact API Provider
star-blueRate

How spam identified

(Scroll down for docs)

OOPSpam Anti-Spam API allows developers to make an accurate decision based on different inputs:

  • A trained machine learning algorithm checks whether the content is spam or not.
  • In case the content sender's IP is passed to the API, it will be a check against external powerful, daily updated multiple blacklisted IPs.
  • Adult Content Detection
  • If you expect your content in a certain language, pass it to the API and the language detection will determine whatever it matches with your content.
  • In addition, the API scans your content for a pattern of spam words.
  • A bunch of custom rules to better detect legitimate content.

The more information you provide to the API, the more accurate detection will be.

We also have a WordPress plugin: https://wordpress.org/plugins/oopspam-anti-spam/.

Visit our website for more information: https://oopspam.com

Use cases

  • Filter your form submissions
  • Filter forum, blog comments
  • Develop robust plugins for third-party software.

API docs

The easiest way to get started is via OOPSpam's RapidAPI page where you can get familiar with the endpoint as well as send requests without any configuration before you start integrating the API.
If you have a question or something is unclear, please do not hesitate to reach out to via [email protected] or the live chat on the OOSpam Anti-Spam API website. I'll be happy to help you.

API Reference

/v1/spamdetection (POST)

Overview

The /v1/spamdetection endpoint analyses given parameters and returns overall spam score including detailed detection results in structured JSON.

Request
{
      "sender_ip": "38.125.233.253",
      "content":  "Dear Agent, We are a manufacturing company which specializes in supplying Aluminum Rod with Zinc Alloy Rod to customers worldwide, based in Japan, Asia.We have been unable to follow up payments effectively for transactions with debtor customers in your country due to our distant locations, thus our reason for requesting for your services representation.",
      "content_lang" : ["en"]
}
Fields
  • sender_ip : is the IP of the original content sender. This field value will be looked up in multiple blacklisted IPs lists that previously detected sending spam. Although sender_ip is an optional field, we recommend sending it. Don't send 127.0.0.1, it is by default blocked.
  • content : is a content you would like to be analyzed.
  • content_lang : (optional) In what language(s) you expect the content to be?
    Pass two-letter language(s) code to the parameter as an array.

For example: If you know that you may receive content in a few languages, say English, Vietnamese, Turkish then your content_lang parameter should have JSON array with multi-languages ["en","vi", "tr"]:

{
      "sender_ip": "38.125.233.253",
      "content":  "Dear Agent, We are a manufacturing company which specializes in supplying Aluminum Rod with Zinc Alloy Rod to customers worldwide, based in Japan, Asia.We have been unable to follow up payments effectively for transactions with debtor customers in your country due to our distant locations, thus our reason for requesting for your services representation.",
      "content_lang" : ["en","vi", "tr"]
}

Following languages are supported:

  • af Afrikaans
  • an Aragonese
  • ar Arabic
  • ast Asturian
  • be Belarusian
  • br Breton
  • ca Catalan
  • bg Bulgarian
  • bn Bengali
  • cs Czech
  • cy Welsh
  • da Danish
  • de German
  • el Greek
  • en English
  • es Spanish
  • et Estonian
  • eu Basque
  • fa Persian
  • fi Finnish
  • fr French
  • ga Irish
  • gl Galician
  • gu Gujarati
  • he Hebrew
  • hi Hindi
  • hr Croatian
  • ht Haitian
  • hu Hungarian
  • id Indonesian
  • is Icelandic
  • it Italian
  • ja Japanese
  • km Khmer
  • kn Kannada
  • ko Korean
  • lt Lithuanian
  • lv Latvian
  • mk Macedonian
  • ml Malayalam
  • mr Marathi
  • ms Malay
  • mt Maltese
  • ne Nepali
  • nl Dutch
  • no Norwegian
  • oc Occitan
  • pa Punjabi
  • pl Polish
  • pt Portuguese
  • ro Romanian
  • ru Russian
  • sk Slovak
  • sl Slovene
  • so Somali
  • sq Albanian
  • sr Serbian
  • sv Swedish
  • sw Swahili
  • ta Tamil
  • te Telugu
  • th Thai
  • tl Tagalog
  • tr Turkish
  • uk Ukrainian
  • ur Urdu
  • vi Vietnamese
  • wa Walloon
  • yi Yiddish
  • zh-cn Simplified Chinese
  • zh-tw Traditional Chinese

You can learn more about content_lang paramater in this blog post.

Response
{
    "Score": 6,
    "Details": {
        "isIPBlocked": true,
        "langMatch": true,
        "isContentSpam": "spam",
        "numberOfSpamWords": 1,
        "isContentTooShort" : true,
        "isContentAdult" : true
        }
}
Fields

In case of successful request, following structured JSON will be responded:

  • Score: An number between 0-6 representing an overall spam score based on passed parameters. The higher this value, the more likely to be spam.
  • Details: A dictionary containing the result of different analyses. The dictionary contains keys: "isIPBlocked", "langMatch", "isContentSpam" and "numberOfSpamWords".
    • isIPBlocked : A boolean value representing whether the value of parameter sender_ip IP is blacklisted.
      Tip: In case this value is true which means the IP is blacklisted, then it is safe to assume that you are dealing with a spammer.
    • langMatch : A boolean value representing whether the value of parameter content_lang matches with the detected language by Language Detection algorithm.
    • isContentSpam : A string containing the result of a Machine Learning algorithm on whether the content is a spam or notspam.
    • numberOfSpamWords : A number representing a number of spam words within the content.
    • isContentTooShort: A boolean value representing whether the value of content is too short to consider a meaningful sentence. Any content that is too short will be considered as spam.
    • isContentAdult: A boolean value representing whether the value of content is an adult content. Any content that is detected as adult content will be considered as spam. The maximum spam score 6 will be returned.

Error handling

A successful request will return HTTP status code 200. In case you didn't include necessary headers in your requests such as an API key which you will get status code 401 (Unauthorized) with an explanatory message as the part of response's body. Other possible errors can be :

  • An invalid JSON format
  • Generic error message

With all (error) cases, you will get a JSON object with an error code and message which looks like this:

{
    "code":"5740538",
    "message":"Invalid JSON format. Please verify and resubmit."
}

`

Limitations

  • Currently, only English language is supported for Machine Learning content spam analyses, other analyses support multi-language.
  • To check against blacklisted IPs ( sender_ip) only IPv4 is supported. IPv6 will be ignored.

Tips

  • Responded Score parameter value ranges from 0 to 6. A value 3 or above can be considered spam.
  • In the case of the responded isIPBlocked parameter value is true, It is safe to assume the sender is a spammer.
  • Make async HTTP request instead of sync since the system check sender_ip against multiple blacklisted IPs lists until it finds it.
  • Don't send 127.0.0.1, ::1, 1.1.1.1 as a value of sender_ip, they are by default blocked.

FAQ

Please check FAQ section https://www.oopspam.com/#faq.

Contact

Questions? Please do not hesitate to contact me via [email protected] or the live chat on the OOSpam Anti-Spam API website. I'll be happy to help you.

Install SDK for (Node.js)Unirest

OAuth2 Authentication
Client ID
Client Secret
OAuth2 Authentication