Developer's Guide

Important: Version 1.0 of the reCAPTCHA API is no longer supported, please upgrade to Version 2.0. Learn more

Welcome to the developer documentation for reCAPTCHA! reCAPTCHA lets you embed a CAPTCHA in your web pages in order to protect them against spam and other types of automated abuse. Here, we explain how to add reCAPTCHA to your page.


This documentation is designed for people familiar with HTML forms and server-side processing. To install reCAPTCHA, you will probably need to edit some code.

We hope you find this documentation easy to follow. Make sure to join the reCAPTCHA developer forum to give feedback and discuss the API.


API Keys

To use reCAPTCHA, you need to sign up for API keys for your site. The keys are unique to the domain or domains you specify, and their respective sub-domains. Specifying more than one domain could come in handy in the case that you serve your website from multiple top level domains (for example:,

By default, all keys work on "localhost" (or ""), so you can always develop and test on your local machine.


Once you've signed up for API keys, you can add reCAPTCHA to your site and customize the widget. If you're using one of the following programming environments or applications, click on the link below for further instructions.

Programming Environments:

  • PHP
  • Classic ASP (contributed by Mark Short)
  • Java/JSP
  • Perl
  • Python
  • Ruby (contributed by McClain Looney)
  • Another Ruby library from Jason L Perry
  • Ruby/Rack (contributed by Arthur Chiu)
  • JSP Mailhide Tag (contributed by Tamas Magyar)
  • ColdFusion (contributed by Robin Hilliard)
  • WebDNA (contributed by Dan Strong)
  • Applications:

  • MediaWiki
  • phpBB
  • FormMail
  • Movable Type (contributed by Josh Carter)
  • Drupal (contributed by Rob Loach)
  • Symfony (contributed by Arthur Koziel)
  • TYPO3 (maintained by Markus Blaschke, contributed by Jens Mittag. See also the example of using the plugin)
  • NucleusCMS (contributed by Matt)
  • vBulletin (contributed by Magnus)
  • Joomla (contributed by Mark Fabrizio)
  • Joomla Community Builder (contributed by Ayan Debnath)
  • JSP Mailhide (contributed by Tamas Magyar)
  • bbPress (contributed by Rhys Wynne)
  • ExpressionEngine (contributed by Jaspaul Aggarwal)
  • FlatPress (contributed by Ross Fruen)
  • PHPKIT (contributed by Norman Huth)