A PHP library for communicating with the Twilio REST API and generating TwiML. Need help? Post your questions to http://getsatisfaction.com/twilio or email us at help@twilio.com
Clone or download
Pull request Compare This branch is 1055 commits behind twilio:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status


You can install twilio-php via PEAR or by downloading the source.

Via PEAR (>= 1.9.3):

PEAR is a package manager for PHP. Open a command line and use these PEAR commands to download the helper library:

$ pear channel-discover twilio.github.com/pear
$ pear install twilio/Services_Twilio

If you get the following message:

$ -bash: pear: command not found

you can install PEAR from their website, or download the source directly.

Download the source code

Click here to download the source (.zip) which includes all dependencies.

Once you download the library, move the twilio-php folder to your project directory and then include the library file:

require 'Services/Twilio.php';

and you're good to go!

A Brief Introduction

With version 3.0 we've simplified interaction with the Twilio REST API. No more manually creating URLS or parsing XML/JSON. You now interact with resources directly. Follow the Quickstart Guide to get up and running right now. The User Guide shows you how to get the most out of twilio-php.


Send an SMS

// Install the library via PEAR or download the .zip file to your project folder.
// This line loads the library

$client = new Services_Twilio('AC123', '123');
$message = $client->account->sms_messages->create(
  '9991231234', // From a valid Twilio number
  '8881231234', // Text this number
  "Hello monkey!"

print $message->sid;

Make a Call

// Install the library via PEAR or download the .zip file to your project folder.
// This line loads the library

$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/user/account
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/user/account

$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->create(
  '9991231234', // From a valid Twilio number
  '8881231234', // Call this number

  // Read TwiML at this URL when a call connects (hold music)

Generating TwiML

To control phone calls, your application needs to output TwiML. Use Services_Twilio_Twiml to easily create such responses.


$response = new Services_Twilio_Twiml();
$response->play('https://api.twilio.com/cowbell.mp3', array("loop" => 5));
print $response;

That will output XML that looks like this:

<?xml version="1.0" encoding="utf-8"?>
    <Play loop="5">https://api.twilio.com/cowbell.mp3</Play>

Full Documentation

The documentation for twilio-php is hosted at Read the Docs. Click here to read our full documentation.


  • PHP >= 5.2.1
  • The PHP JSON extension

Reporting Issues

We would love to hear your feedback. Report issues using the Github Issue Tracker or email help@twilio.com.