Skip to content
A Python module for communicating with the Twilio API and generating TwiML. Need help? Post your questions to or email us at
Python Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status

A module for using the Twilio REST API and generating valid TwiML. Click here to read the full documentation.


Install from PyPi using pip, a package manager for Python.

$ pip install twilio

Don't have pip installed? Try installing it, by running this from the command line:

$ curl | python

Or, you can download the source code (ZIP) for twilio-python, and then run:

$ python install

You may need to run the above commands with sudo.

Getting Started

Getting started with the Twilio API couldn't be easier. Create a TwilioRestClient and you're ready to go.

API Credentials

The TwilioRestClient needs your Twilio credentials. You can either pass these directly to the constructor (see the code below) or via environment variables.

from import TwilioRestClient

client = TwilioRestClient(account, token)

Alternately, a TwilioRestClient constructor without these parameters will look for TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN variables inside the current environment.

We suggest storing your credentials as environment variables. Why? You'll never have to worry about committing your credentials and accidentally posting them somewhere public.

from import TwilioRestClient
client = TwilioRestClient()

Make a Call

from import TwilioRestClient

client = TwilioRestClient(account, token)

call = client.calls.create(to="9991231234", 
print call.sid

Send an SMS

from import TwilioRestClient

client = TwilioRestClient(account, token)

message = client.sms.messages.create(to="+12316851234", from_="+15555555555",
                                     body="Hello there!")

Handling a call using TwiML

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

from twilio import twiml

r = twiml.Response()
r.say("Welcome to twilio!")
print str(r)
<?xml version="1.0" encoding="utf-8"?>
<Response><Say>Welcome to twilio!</Say></Response>

Digging Deeper

The full power of the Twilio API is at your fingertips. The full documentation explains all the awesome features available to use.

Something went wrong with that request. Please try again.