(Scroll down for docs)
If you are looking for a direct way to consume OOPSpam API, try OOPSpam Dashboard.
API Reference: https://oopspam.com/docs
OOPSpam Anti-Spam API provides high accuracy based on different inputs:
…and many custom rules.
The value we bring:
We also have a WordPress plugin: https://wordpress.org/plugins/oopspam-anti-spam/.
Visit our website for more information: https://www.oopspam.com
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 contact@oopspam.com or the live chat on the OOSpam Anti-Spam API website. We’d be happy to help you.
Flag a content spam solely based on Score (aka Spam Score). OOPSpam provides a spam score from 0 to 6. We recommend assuming Spam Score 3 or higher to be spam. While we recommend finding the most suitable score to fit your case, from our studies we learned that the ideal threshold is 3. Here is the rough scheme:
0 - not spam
1 - not spam
2 - could be spam. Most cases, not spam
3 - spam
4 - spam
5 - spam
6 - spam
The /v1/spamdetection
endpoint analyses given parameters and returns overall spam score including detailed detection results in structured JSON.
{
"senderIP": "91.203.67.110",
"email": "testing@example.com",
"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.",
"blockTempEmail": false,
"logIt": false,
"checkForLength": true,
"urlFriendly": false,
"allowedLanguages" : ["en"],
"allowedCountries" : ["it","us"],
"blockedCountries" : ["ru","cn"]
}
Field | Definition |
---|---|
content |
string (required) Is a content/message you would like to be analyzed. |
senderIP |
string (optional) Is the IP address of the original content/message sender. This field value will be looked up in multiple IP denylists that previously detected sending spam. Although senderIP is an optional field, we recommend sending it.
Important:
|
email |
string (optional) Is the email address of the original content/message sender. This field value will be looked up in multiple email denylists that previously detected sending spam. Although email is an optional field, we recommend sending it.
Important:
|
blockTempEmail default:false |
boolean (optional) Block temporary/disposable emails. |
checkForLength default:true |
boolean (optional) If the content is shorter than 20 characters, it will be considered spam (Score: 5 ) and returns isContentTooShort: true . |
logIt default:false |
boolean (optional) Allows you to view logs in the OOPSpam Dashboard. |
urlFriendly default:falsebeta |
boolean (optional) Make the content parameter more link-friendly and reduce the impact of links on the spam score. |
allowedLanguages |
array (optional) This allows blocking content based on content language. Let us know in what language(s) you expect the content to be by passing two-letter language(s) code to the parameter as an array. |
allowedCountries |
array (optional) Allow content only from a certain country or countries. All you need to do is pass the two-letter country code as an array.
Important: senderIP is required for this to work. |
blockedCountries |
array (optional) Block content from a certain country or countries. All you need to do is pass the two-letter country code as an array.
Important: senderIP is required for this to work. |
Field | Definition |
---|---|
Score |
number - A value between 0-6 that represents an overall spam score based on the parameters passed. The higher the score, the more likely it is to be spam. |
Details |
A dictionary containing the results of different analyses. |
isIPBlocked |
boolean - Represents whether the value of parameter senderIP is blocked. |
isEmailBlocked |
boolean - Represents whether the value of the parameter email is blocked. |
langMatch |
boolean - Represents whether the value of the parameter allowedLanguages matches with the detected language by Language Detection algorithm. |
isContentSpam |
string - Represents the result of a Machine Learning algorithm on whether the content is a spam or nospam. |
numberOfSpamWords |
number - A value representing a number of spam words within the content. |
spamWords |
array - A value representing the top 10 spam words in a content |
isContentTooShort |
boolean - Represents whether the value of the parameter content is too short (20 characters or less) to be considered a meaningful sentence. Any content that is too short is considered spam. |
countryMatch |
boolean - Represents whether an IP address (the value of senderIP ) originates from one of the countries you passed through allowedCountries and blockedCountries parameters. In case of a mismatch, the API returns the maximum spam Score of 6. |
Following languages are supported:
Language | ISO 639-1 code | Language | ISO 639-1 code |
---|---|---|---|
Afrikaans | af | Japanese | ja |
Albanian | sq | Korean | ko |
Arabic | ar | Latin | la |
Basque | eu | Latvian | lv |
Belarusian | be | Lithuanian | lt |
Bengali | bn | Malay | ms |
Bokmal | nb | Norwegian | no |
Bulgarian | bg | Nynorsk | nn |
Catalan | ca | Persian | fa |
Chinese | zh | Polish | pl |
Croatian | hr | Portuguese | pt |
Czech | cs | Punjabi | pa |
Danish | da | Romanian | ro |
Dutch | nl | Russian | ru |
English | en | Slovak | sk |
Estonian | et | Slovene | sl |
Finnish | fi | Somali | so |
French | fr | Spanish | es |
German | de | Swedish | sv |
Greek | el | Tagalog | tl |
Gujarati | gu | Tamil | ta |
Hebrew | he | Telugu | te |
Hindi | hi | Thai | th |
Hungarian | hu | Turkish | tr |
Icelandic | is | Urdu | ur |
Indonesian | id | Vietnamese | vi |
Irish | ga | Welsh | cy |
Italian | it |
You can learn more about allowedLanguages
paramater in this blog post.
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 :
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."
}
After integrating the API, you may want to test different use cases. To help you get started, here’s a table of blocked IP addresses, email addresses, and content.
content | IP | |
---|---|---|
Good day, \r\n\r\nMy name is Eric and unlike a lot of emails you might get, I wanted to instead provide you with a word of encouragement – Congratulations\r\n\r\nWhat for? \r\n\r\nPart of my job is to check out websites and the work you’ve done with pos-cash.de definitely stands out. \r\n\r\nIt’s clear you took building a website seriously and made a real investment of time and resources into making it top quality.\r\n\r\nThere is, however, a catch… more accurately, a question…\r\n\r\nSo when someone like me happens to find your site – maybe at the top of the search results (nice job BTW) or just through a random link, how do you know? \r\n\r\n | 45.152.198.112, 196.16.74.95 | testing@example.com, test@test.com |
Score
parameter value ranges from 0 to 6. Any value of 3 or higher can be regarded as spam.Please check FAQ section https://www.oopspam.com/#faq.
Questions? Please do not hesitate to contact me via contact@oopspam.com or the live chat on the OOSpam Anti-Spam API website.