Programmable Voice

Build conversations anywhere. Make, receive, and monitor calls around the world using the Voice API that developers rely on.

Move your most critical Voice workloads to the cloud in record time.

Augment existing voice infrastructure to facilitate work from home with Audio Conferencing options in the Twilio Voice API.

Send Proactive Alerts to employees and customers reliably when scaling high call volumes around the world.

Design and build IVRs that create personal, contextualized customer experiences that integrate to existing CRM systems.

Latest Releases

Enable SHAKEN/STIR authentication with Twilio Voice to get high attestation for verified incoming calls and increase call answer rates by assured customers. Learn more.

BYOC Trunk

Build applications using Twilio Voice APIs without changing your carrier network. Use a BYOC trunk to connect an existing PSTN carrier, and power up your voice communications. Learn more.

Media Streams

Improve customer call experience in real time. Access the raw audio stream of your calls to integrate advanced AI/ML capabilities into your Twilio Voice application. Learn more.

Control calls with code

Conversations can happen anywhere. The Twilio Voice API lets you make, manage and route calls to a browser, an app, your phone, or anywhere else you can take a call.

When you start the phone call, the Twilio Voice API provides both a phone number to call, and a server location that will provide TwiML instructions on how to route the phone call.

Try a phone call from the Voice API

  • PHP
  • Node
  • Python
  • Ruby
  • Java
  • .NET (C#)
  • CLI
  • cURL

// Update the path below to your autoload.php,
// see
require_once '/path/to/vendor/autoload.php';

use Twilio\Rest\Client;

// Your Account Sid and Auth Token from
$token  = "your_auth_token";
$twilio = new Client($sid, $token);

$call = $twilio->calls
               ->create("+15558675310", // to
                  "+15017122661",       // from
                  array("url" => "")

// Install the C# / .NET helper library from

using System;
using Twilio;
using Twilio.Rest.Api.V2010.Account;

class Program 
  static void Main(string[] args)
    // Find your Account Sid and Token at
    const string authToken = "your_auth_token";

    TwilioClient.Init(accountSid, authToken);

    var call = CallResource.Create(
      url: new Uri(""),
      to: new Twilio.Types.PhoneNumber("+15558675310"),
      from: new Twilio.Types.PhoneNumber("+15017122661")

// Install the Java helper library from

import com.twilio.Twilio;
import com.twilio.type.PhoneNumber;


public class Example {
  // Find your Account Sid and Token at
  public static final String AUTH_TOKEN = "your_auth_token";

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

// Download the helper library from
// Your Account Sid and Auth Token from
const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);

    url: '',
    to: '+15558675310',
    from: '+15017122661'
  .then(call => console.log(call.sid))
# Download the helper library from
from import Client

# Your Account Sid and Auth Token from
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

call = client.calls.create(

# Download the helper library from
require 'rubygems'
require 'twilio-ruby'

# Your Account Sid and Auth Token from
auth_token = 'your_auth_token'
@client =, auth_token)

call = @client.calls.create(
          url: '',
          to: '+15558675310',
          from: '+15017122661'

puts call.sid
# Install the twilio-cli from

twilio api:core:calls:create \
    --url \
    --to +15558675310 \
    --from +15017122661
curl -X POST \
--data-urlencode "Url=" \
--data-urlencode "To=+15558675310" \
--data-urlencode "From=+15017122661" \
Hardware is painful. Software is powerful.

Build the exact call experience you want using an intuitive API that scales beyond anything you can do with outdated hardware.

Quality calls with low latency and clear audio

Latency can break up the natural rhythm of your call. Twilio ensures call quality by routing calls to the nearest data center around the world.

Create new lines of communication

Embed PSTN, SIP, or VoIP calling into any app, site, or service. The Voice API lets you build experiences using a simple HTTP request.

Build the exact voice experience you want

With comprehensive documentation and a community of millions of developers, build the custom calling experience of your dreams.

Twilio Proxy:
Connect to Your Customers Without Sacrificing Privacy

Empower front-line workers to talk with customers on their own devices without revealing personal contact information. The Proxy API handles all the hard parts of scaling masked calling, including phone number management and recycling.

Learn about Proxy

Deploy or drag & drop

Write and deploy, or drag and drop with the Twilio Studio visual editor.

Save time and sprints with Twilio Studio. Now anyone on your team can create or modify voice flows using your code or Twilio’s code, all within a common framework.

Learn how to build with Twilio Studio

Flexible voice pricing options

As low as $0.003 /min for inbound calls and $0.0095/min for outbound calls, select the pricing option that’s right for you.


Pay only for what you use, when you use it. No contracts. No capacity planning.

Volume discounts

Automatically receive discount pricing once your application reaches volume scale.

Committed-use discounts

Receive larger discounts with monthly committed volume. Contact our sales team to learn more.

See Voice pricing

Questions on pricing? Talk to an expert.

Build on Twilio. Code with confidence.

Zero maintenance windows

Twilio ships over 100k deployments every year, while maintaining 99.999% uptime.

99.999% API Success Rate

If an API is up but returns errors, it means your app is down. API success rate is critical to maintaining your application experience.

Data privacy & compliance

Twilio maintains ISO/IEC 27001, 27017, 27018, GDPR, PCI DSS 3.2, SOC 2, Type II (Security & Availability), and HIPAA eligibility, so you can trust us with your data.

Proactive carrier rerouting

Twilio makes over one million routing optimizations per year, ensuring that carrier downtime doesn’t affect your application.

No unwanted calls

120 Day, 7-point phone number cleaning process ensures clean numbers that don’t receive calls meant for previous owners.

Global coverage

Call any country in the world with voice-enabled local numbers in over 100 countries, and thousands of local carrier connections.