Fraud Guard has saved Verify customers $26M+

Every Verify customer is covered by Fraud Guard, which protects against expensive SMS pumping fraud. One API gives you a secure verification solution at scale.

Loved by 10+ million developers

Join the 300,000+ brands that use Twilio to connect with their customers

Verify resources for developers

9 Reasons to Use the Verify API

From Fraud Guard to managed compliance, learn why the Verify API is the best choice for implementing user verification and authentication.

Send an SMS verification code in 5 minutes

Phone number verification can decrease fraud and increase deliverability and trust. The Twilio Verify API makes it easy to send and check OTPs and you can get started in under 5 minutes.

Quickly export a list of active Twilio numbers, transfer them, and check their usage

Getting started with Twilio Verify

One-time passcodes (OTP) are a simple and effective way to verify someone's phone number or email at sign up. Twilio's Verify API is a purpose built solution for sending one-time passcodes with SMS, voice, email, authenticator apps, and more.

Level Up Next with Emily & Kelley- Migrating to Twilio Verify

Join Emily Shenfield and Kelley Robinson as they preview their Level Up about Twilio Verify! Come learn how easy it is to migrate from messaging to Verify for supported use cases.

Twilio works for your whole team

  • Browser with code terminal cursor
    Developers

    Build your use case quickly with our up-to-date documentation, tutorials, and quickstarts.

  • Lightbulb idea
    Product Owners

    Create innovative customer experiences with reliable APIs and first-party data for personalization.

  • User symbol in a circle
    Marketers

    Increase your engagement and ROI with multichannel marketing campaigns powered by your customer data.

  • Customer service headset
    Sales and Support

    Talk to customers on the channel they prefer, using the full context of their profiles to personalize interactions.

Send your first text message in a matter of minutes

Sign up for a free Twilio account and grab one of our seven official server-side SDKs to get started. Send your first text message, phone call, or email in minutes and when you’re ready to launch your app, upgrade to a pay-as-you-go plan.

# Download the helper library from https://www.twilio.com/docs/python/install
import os
from twilio.rest import Client

# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)

message = client.messages.create(
                              body='Hi there',
                              from_='+15017122661',
                              to='+15558675310'
                          )

print(message.sid)
// Install the C# / .NET helper library from twilio.com/docs/csharp/install
using System;
using Twilio;
using Twilio.Rest.Api.V2010.Account;

class Program
{
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        // and set the environment variables. See http://twil.io/secure
        string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

        TwilioClient.Init(accountSid, authToken);

        var message = MessageResource.Create(
            body: "Hi there",
            from: new Twilio.Types.PhoneNumber("+15017122661"),
            to: new Twilio.Types.PhoneNumber("+15558675310")
        );

        Console.WriteLine(message.Sid);
    }
}
<?php

// Update the path below to your autoload.php,
// see https://getcomposer.org/doc/01-basic-usage.md
require_once '/path/to/vendor/autoload.php';

use Twilio\Rest\Client;

// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
$sid = getenv("TWILIO_ACCOUNT_SID");
$token = getenv("TWILIO_AUTH_TOKEN");
$twilio = new Client($sid, $token);

$message = $twilio->messages
                  ->create("+15558675310", // to
                           ["body" => "Hi there", "from" => "+15017122661"]
                  );

print($message->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/install
require 'rubygems'
require 'twilio-ruby'

# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
@client = Twilio::REST::Client.new(account_sid, auth_token)

message = @client.messages.create(
                             body: 'Hi there',
                             from: '+15017122661',
                             to: '+15558675310'
                           )

puts message.sid
// Install the Java helper library from twilio.com/docs/java/install

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class Example {
    // Find your Account SID and Auth Token at twilio.com/console
    // and set the environment variables. See http://twil.io/secure
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
        Message message = Message.creator(
                new com.twilio.type.PhoneNumber("+15558675310"),
                new com.twilio.type.PhoneNumber("+15017122661"),
                "Hi there")
            .create();

        System.out.println(message.getSid());
    }
}
// Download the helper library from https://www.twilio.com/docs/node/install
// Find your Account SID and Auth Token at twilio.com/console
// and set the environment variables. See http://twil.io/secure
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.messages
      .create({body: 'Hi there', from: '+15017122661', to: '+15558675310'})
      .then(message => console.log(message.sid));
curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json" \
--data-urlencode "Body=Hi there" \
--data-urlencode "From=+15017122661" \
--data-urlencode "To=+15558675310" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
Python logo
C# logo
PHP logo
Ruby logo
Java logo
JavaScript logo
Curl logo

Official SDKs

Build quickly and confidently with our SDKs for Node.js, Python, C#, Java, PHP, Ruby, and Go.

Twilio Functions

Bring ideas to life without having to host your own code by deploying with Twilio Functions.

99.95%+ API uptime

Reliable availability you can trust to power your app’s most important features.