Voice

Getting started

Learn how to start building an engaging voice experience

Adding customizable voice

capabilities has never been easier

illo_adding_voice.png

Focus on your customers, not on building voice from the ground up

Twilio Voice gives you the tools needed to build bespoke voice experiences that meet and exceed ever-changing customer expectations. Using our enterprise-grade infrastructure, you can spend more time delivering memorable customer experiences and less time building those experiences from scratch.

And with our innovative APIs, SDKs, and developer resources, you’ll have all the support needed to start building a memorable voice application.

Voice API

Upgrade how you connect with

customers

  • Node.js
  • C#
  • PHP
  • Ruby
  • Python
  • Java
  • curl
  • twilio-cli
// 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/secureconstaccountSid=process.env.TWILIO_ACCOUNT_SID;constauthToken=process.env.TWILIO_AUTH_TOKEN;constclient=require('twilio')(accountSid,authToken);client.calls.create({url:'https://example.com',to:'+15558675310',from:'+15017122661'}).then(call=>console.log(call.sid));
// Install the C# / .NET helper library from twilio.com/docs/csharp/installusingSystem;usingTwilio;usingTwilio.Rest.Api.V2010.Account;classProgram{staticvoidMain(string[]args){// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securestringaccountSid=Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");stringauthToken=Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");TwilioClient.Init(accountSid,authToken);varcall=CallResource.Create(url:newUri("https://example.com"),to:newTwilio.Types.PhoneNumber("+15558675310"),from:newTwilio.Types.PhoneNumber("+15017122661"));Console.WriteLine(call.Sid);}}
<?php// Update the path below to your autoload.php,// see https://getcomposer.org/doc/01-basic-usage.mdrequire_once'/path/to/vendor/autoload.php';useTwilio\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=newClient($sid,$token);$call=$twilio->calls->create("+15558675310",// to"+15017122661",// from["url"=>"https://example.com"]);print($call->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/installrequire'rubygems'require'twilio-ruby'# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=ENV['TWILIO_ACCOUNT_SID']auth_token=ENV['TWILIO_AUTH_TOKEN']@client=Twilio::REST::Client.new(account_sid,auth_token)call=@client.calls.create(url:'https://example.com',to:'+15558675310',from:'+15017122661')putscall.sid
# Download the helper library from https://www.twilio.com/docs/python/installimportosfromtwilio.restimportClient# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=os.environ['TWILIO_ACCOUNT_SID']auth_token=os.environ['TWILIO_AUTH_TOKEN']client=Client(account_sid,auth_token)call=client.calls.create(url='https://example.com',to='+15558675310',from_='+15017122661')print(call.sid)
// Install the Java helper library from twilio.com/docs/java/installimportcom.twilio.Twilio;importcom.twilio.rest.api.v2010.account.Call;importcom.twilio.type.PhoneNumber;importjava.net.URI;publicclassExample{// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securepublicstaticfinalStringACCOUNT_SID=System.getenv("TWILIO_ACCOUNT_SID");publicstaticfinalStringAUTH_TOKEN=System.getenv("TWILIO_AUTH_TOKEN");publicstaticvoidmain(String[]args){Twilio.init(ACCOUNT_SID,AUTH_TOKEN);Callcall=Call.creator(newcom.twilio.type.PhoneNumber("+15558675310"),newcom.twilio.type.PhoneNumber("+15017122661"),URI.create("https://example.com")).create();System.out.println(call.getSid());}}
curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json \--data-urlencode "Url=https://example.com"\--data-urlencode "To=+15558675310"\--data-urlencode "From=+15017122661"\-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
#Installthetwilio-clifromhttps://twil.io/clitwilioapi:core:calls:create\--url https://example.com \--to +15558675310 \--from +15017122661

Start connecting to customers around the world

  • Node.js
  • C#
  • PHP
  • Ruby
  • Python
  • Java
  • curl
  • twilio-cli
// 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/secureconstaccountSid=process.env.TWILIO_ACCOUNT_SID;constauthToken=process.env.TWILIO_AUTH_TOKEN;constclient=require('twilio')(accountSid,authToken);client.transcriptions('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetch().then(transcription=>console.log(transcription.dateCreated));
// Install the C# / .NET helper library from twilio.com/docs/csharp/installusingSystem;usingTwilio;usingTwilio.Rest.Api.V2010.Account;classProgram{staticvoidMain(string[]args){// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securestringaccountSid=Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");stringauthToken=Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");TwilioClient.Init(accountSid,authToken);vartranscription=TranscriptionResource.Fetch(pathSid:"TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");Console.WriteLine(transcription.DateCreated);}}
<?php// Update the path below to your autoload.php,// see https://getcomposer.org/doc/01-basic-usage.mdrequire_once'/path/to/vendor/autoload.php';useTwilio\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=newClient($sid,$token);$transcription=$twilio->transcriptions("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")->fetch();print($transcription->dateCreated->format());
# Download the helper library from https://www.twilio.com/docs/ruby/installrequire'rubygems'require'twilio-ruby'# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=ENV['TWILIO_ACCOUNT_SID']auth_token=ENV['TWILIO_AUTH_TOKEN']@client=Twilio::REST::Client.new(account_sid,auth_token)transcription=@client.transcriptions('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').fetchputstranscription.date_created
# Download the helper library from https://www.twilio.com/docs/python/installimportosfromtwilio.restimportClient# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=os.environ['TWILIO_ACCOUNT_SID']auth_token=os.environ['TWILIO_AUTH_TOKEN']client=Client(account_sid,auth_token)transcription=client.transcriptions('TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
.fetch()print(transcription.date_created)
// Install the Java helper library from twilio.com/docs/java/installimportcom.twilio.Twilio;importcom.twilio.rest.api.v2010.account.Transcription;publicclassExample{// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securepublicstaticfinalStringACCOUNT_SID=System.getenv("TWILIO_ACCOUNT_SID");publicstaticfinalStringAUTH_TOKEN=System.getenv("TWILIO_AUTH_TOKEN");publicstaticvoidmain(String[]args){Twilio.init(ACCOUNT_SID,AUTH_TOKEN);Transcriptiontranscription=Transcription.fetcher("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").fetch();System.out.println(transcription.getDateCreated());}}
curl -X GET 'https://api.twilio.com/2010-04-01/Accounts/'$TWILIO_ACCOUNT_SID'/Transcriptions/TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json'\-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
#Installthetwilio-clifromhttps://twil.io/clitwilioapi:core:transcriptions:fetch\--sid TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Control and modify calls with ease

  • Node.js
  • C#
  • PHP
  • Ruby
  • Python
  • Java
  • curl
  • twilio-cli
// 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/secureconstaccountSid=process.env.TWILIO_ACCOUNT_SID;constauthToken=process.env.TWILIO_AUTH_TOKEN;constclient=require('twilio')(accountSid,authToken);client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').payments.create({idempotencyKey:'idempotency_key',statusCallback:'https://example.com'}).then(payment=>console.log(payment.sid));
// Install the C# / .NET helper library from twilio.com/docs/csharp/installusingSystem;usingTwilio;usingTwilio.Rest.Api.V2010.Account.Call;classProgram{staticvoidMain(string[]args){// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securestringaccountSid=Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");stringauthToken=Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");TwilioClient.Init(accountSid,authToken);varpayment=PaymentResource.Create(idempotencyKey:"idempotency_key",statusCallback:newUri("https://example.com"),pathCallSid:"CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");Console.WriteLine(payment.Sid);}}
<?php// Update the path below to your autoload.php,// see https://getcomposer.org/doc/01-basic-usage.mdrequire_once'/path/to/vendor/autoload.php';useTwilio\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=newClient($sid,$token);$payment=$twilio->calls("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")->payments->create("idempotency_key","https://example.com");print($payment->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/installrequire'rubygems'require'twilio-ruby'# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=ENV['TWILIO_ACCOUNT_SID']auth_token=ENV['TWILIO_AUTH_TOKEN']@client=Twilio::REST::Client.new(account_sid,auth_token)payment=@client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX').payments.create(idempotency_key:'idempotency_key',status_callback:'https://example.com')putspayment.sid
# Download the helper library from https://www.twilio.com/docs/python/installimportosfromtwilio.restimportClient# Find your Account SID and Auth Token at twilio.com/console# and set the environment variables. See http://twil.io/secureaccount_sid=os.environ['TWILIO_ACCOUNT_SID']auth_token=os.environ['TWILIO_AUTH_TOKEN']client=Client(account_sid,auth_token)payment=client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
.payments \
.create(idempotency_key='idempotency_key',status_callback='https://example.com')print(payment.sid)
// Install the Java helper library from twilio.com/docs/java/installimportcom.twilio.Twilio;importcom.twilio.rest.api.v2010.account.call.Payment;importjava.net.URI;publicclassExample{// Find your Account SID and Auth Token at twilio.com/console// and set the environment variables. See http://twil.io/securepublicstaticfinalStringACCOUNT_SID=System.getenv("TWILIO_ACCOUNT_SID");publicstaticfinalStringAUTH_TOKEN=System.getenv("TWILIO_AUTH_TOKEN");publicstaticvoidmain(String[]args){Twilio.init(ACCOUNT_SID,AUTH_TOKEN);Paymentpayment=Payment.creator("CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","idempotency_key",URI.create("https://example.com")).create();System.out.println(payment.getSid());}}
curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Payments.json \--data-urlencode "IdempotencyKey=idempotency_key"\--data-urlencode "StatusCallback=https://example.com"\-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
#Installthetwilio-clifromhttps://twil.io/clitwilioapi:core:calls:payments:create\--call-sid CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \--idempotency-key idempotency_key \--status-callback https://example.com

Build without worrying about your data’s security

  • Emergency calling: Enable emergency call routing to Public Safety Answering Points (PSAPs) in the US, Canada, and the UK
  • Masked calling: Protect you and your customers’ sensitive data with temporary phone number proxies
  • HIPAA and PCI compliance: Twilio Voice is both HIPAA compliant and PCI DSS Level 1 compliant

PRICING

Flexible pricing for a flexible Voice API

With Twilio Voice, you only pay for what you use with no commitments necessary. Pay-as-you-go, or, get discounts on a committed volume.