Rate this page:

Twilio Verify Java Servlets Quickstart

With just a few lines of code, your Java application can verify phone numbers and add an additional layer of security with Twilio Verify.

This Java Verify Quickstart will teach you how to do this using our Verify REST API, the Twilio Java helper library, and Java Servlet Technology to ease development.

In this Quickstart, you will learn how to:

  1. Sign up for Twilio
  2. Set up your development environment
  3. Send your first SMS phone verification
  4. Check verification codes

Short on time? Spin up a low-code, fully editable verification demo in less than 2 minutes using Twilio's Code Exchange and Quick Deploy here.

Sign up for Twilio

If you already have a Twilio account, you’re all set here! Feel free to jump to the next step.

Before you can send an SMS from Java, you'll need to sign up for a Twilio account or sign into your existing account.

You can sign up for a free Twilio trial account here.

  • When you sign up, you'll be asked to verify your personal phone number. This helps Twilio verify your identity and also allows you to send test verification messages to your phone from your Twilio account while in trial mode. This phone verification step is exactly what you'll learn how to build in this tutorial!
  • Once you verify your number, you'll be asked to create a project. For the sake of this tutorial, you can click on the "Learn and Explore" template. Give your project a name, or just click "skip remaining steps" to continue with the default.
  • Once you get through the project creation flow, you'll arrive at your project dashboard in the Twilio Console. This is where you'll be able to access your Account SID, authentication token, create a verification service, and more.

Do I need a phone number?

If you've sent SMS with Twilio in the past, you might remember needing to buy a phone number. With Twilio Verify, we take care of that for you! The Verify API selects the best routes for quickly and reliably delivering verification codes globally.

Create a Verify Service

Verify uses Services for configuration. To send a Verify API request you will need both your Twilio Credentials and a Service SID. You can create and update a Service in two ways:

  1. In the Verify Console
  2. With the Verify API

Services can be used to edit the name (which shows up in the message template), set the code length (4-10 characters), enable settings like the "do not share warning" and more.

Now that you have a Twilio account and a verification service, you can start writing some code! To make things even easier we will use Twilio's official helper for Java applications.

Install Java

If you’ve gone through one of our other Java Quickstarts already and have Java installed, you can skip this step and get straight to sending your first verification.

To start a phone verification, you’ll need to have Java and the Twilio Java helper library installed.

To send your first SMS, you’ll need to have the Java Standard Edition (SE) Development Kit (JDK) installed - if you don't know if you have the JDK installed, run the following command to see what version you have:

javac -version

You should see something similar to this output:

javac 1.8.0_92

The Twilio SDK requires Java SE 7 or higher, which will appear as version number "1.7" or above when you run the above command.

If you have an older version of Java or no JDK at all, you'll need to install the JDK before going any further. Follow the directions for installing the Java SE Development Kit for your platform (Windows, Mac, Linux) from the Java SE Download Page.

Loading Code Sample...
        Sends a one-time passcode to a user's phone number

        Send an SMS verification code

        Sends a one-time passcode to a user's phone number
        Loading Code Sample...
              Checks the one-time passcode sent to the user. The provided code is correct if the response 'status' parameter is 'approved'.

              Check a verification code

              Checks the one-time passcode sent to the user. The provided code is correct if the response 'status' parameter is 'approved'.

              Clone and Setup the Verification Application

              Start by cloning our Java Servlets repository.

              git clone

              If you don't have git installed or prefer to download the source code you can grab a zip file of the project here.

              Install project dependencies

              For this project, we used Apache Maven as the management tool. If you're familiar with Java you probably have Apache Maven installed, if not follow these links to download and install it. Navigate into the project folder and compile the project to install your dependencies.

              Twilio Java Helper Library is already in the dependencies of the project in the pom.xml file.

              cd verify-v2-quickstart-python
              mvn compile

              Copy .env.example to .env. This is where we'll store sensitive data in environment variables.

              cp .env.example .env

              Update your new .env file with your own TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, and VERIFICATION_SID. You can find this information in the tTwilio Console.

              Run the application

              mvn flyway:migrate
              mvn jetty:run

              If your credentials are set up correctly you'll soon get a message that the app is up!

              Use the Servlet Twilio Verify Demo

              Navigate to http://localhost:8080/register. You should see a registration form that looks like this:

              sign up form with phone verification

              Enter your phone number and choose which channel to request verification over. Finally hit the green Sign Up button and wait. You'll either receive a phone call or an SMS with the verification token. If you requested a phone call, as an additional security feature you may need to interact to proceed (the call will tell you to enter a number on the phone keypad).

              Enter the token into the Verification entry form and click 'Verify':

              verification entry form

              And with that, your demo app is protected with Twilio's Phone Verification! You can now log out to try the untried channel.

              What's Next?

              Your demo app is now keeping fraudulent users from registering with your business and polluting your database. Next, check out all of the variables and options available to you in the Verify API Reference.

              After that, check out adding additional verification channels supported by the Verify API like:

              Lastly, to protect your service against fraud, view our guidance on Preventing Toll Fraud when using Verify.

              Maylon Pedroso Kelley Robinson Estefany Añasco Kat King Ricky Holtz Maria Bermudez Kristian Tran Carolina Lopez
              Rate this page:

              Need some help?

              We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

              Loading Code Sample...

                    Thank you for your feedback!

                    Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

                    Sending your feedback...
                    🎉 Thank you for your feedback!
                    Something went wrong. Please try again.

                    Thanks for your feedback!