Reliable protection for your projects

Demo:

:
:
:

Installation example:

FRONTEND<!-- an html -->
<script src="https://raincaptcha.com/base.js" type="application/javascript"></script>
<!-- an html form begin -->
<div id="rain-captcha" data-key="YOUR_PUBLIC_KEY"></div>
<!-- an html form end -->
BACKEND//...

$client = new \SoapClient('https://raincaptcha.com/captcha.wsdl');
$response = $client->send('YOUR_SECRET_KEY', $_POST['rain-captcha-response'], $_SERVER['REMOTE_ADDR']);

if ($response->status === 1) {
    // success
} else {
    // failed
}

//...

Publisher

  • Advanced security
    State of the art spam & abuse protection for your website
  • Ease of use
    Low friction, effortless interaction for your users
  • Creation of value
    Apply the human bandwidth to benefit people everywhere
  • Earning
    Reward for every unique resolved of RainCAPTCHA

Advertise

  • Genuine traffic
    You pay only for unique RainCAPTCHA resolved that are associated with your advert
  • Targeting
    Choose the right audience for your campaigns
  • In the spotlight
    The user's attention is focused only on your advertising
  • Detailed statistics

Javascript API

Object:
rainCaptcha
Methods:
reset - Call this method to clear the current state and start the test again.
on - Attach an event handler function.
Parameters:
event - Type: string.
callback - Type: function.
Events:
init - This event will be triggered when RainCAPTCHA is ready to be used.
Example:
window.addEventListener('load', function(){ if ('rainCaptcha' in window) { rainCaptcha.on('init', function(){ //your code }); } }, false);
complete - This event will be triggered after the user passes the test.
Parameters:
data - You must pass the contents of this parameter to the server for use instead of $_POST['rain-captcha-response']. Type: string.
   
Example:
window.addEventListener('load', function(){ if ('rainCaptcha' in window) { rainCaptcha.on('complete', function(data){ //your code }); } }, false);

SOAP API

Client:
https://raincaptcha.com/captcha.wsdl
Methods:
send - Call this method to find out the test result.
Request:
key - A secret key that can be taken from the control panel. Type: string.
data - Results of passing the test for verification. Type: string.
ip - IP address of the user who passes the test. Type: string.
   
Response:
status - Test result. 0 - test failed, 1 - test success. Type: integer.
is_not_safe - Safety Index. 0 - safe, 100 - not safe. Type: integer.
error_code - Error code. The possible values are: 0 - Undefined, 1 - Exceeded lifetime of the test result, 2 - Invalid browser or browser extension, 3 - The task was executed incorrectly, 4 - Access denied. Type: integer.