You can use nodejs-recaptcha .
Here is my example, which uses it in conclusion, when the Express environment processes ajax postrequest to display contact information protected by reCaptcha.
app.post('/ajax/contact/', function(req, res, next) { var recaptcha = new recaptcha_async.reCaptcha(); // Eventhandler that is triggered by checkAnswer() recaptcha.on('data', function (recaptcha_response) { res.render('contact', { layout: 'contact_layout.json.ejs', locals: { recaptcha: recaptcha_response.is_valid ? 'valid' : 'invalid' } }); }); // Check the user response by calling the google servers // and sends a 'data'-event recaptcha.checkAnswer('aLfsZvFVbAbAbzsxlnHbH7wxx0PbNbGabHXbpZgl', // private reCaptchakey (invalidated) req.connection.remoteAddress, req.body.recaptcha_challenge_field, req.body.recaptcha_response_field); });
source share