This fork adds MonoTouch and Mono for Android solutions for the Twilio Library
Clone or download
Pull request Compare This branch is 990 commits behind twilio:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Twilio REST API and TwiML Libraries for .NET, ASP.NET, ASP.NET MVC and WebMatrix

Twilio provides a simple HTTP-based API for sending and receiving phone calls and text messages. Learn more at

.NET Helper Library Documentation

Twilio REST API Documentation - Twilio TwiML Documentation


Via NuGet

Install REST API wrapper:

Install-Package Twilio

Install ASP.NET MVC helpers and REST API wrapper:

Install-Package Twilio.Mvc

To install WebMatrix/ASP.NET Web Pages helpers, search for Twilio in the WebMatrix site administration.

Sample Usage

using Twilio;
var twilio = new TwilioRestClient("accountSid", "authToken");
var call = twilio.InitiateOutboundCall("+1555456790", "+15551112222", "");
var msg = twilio.SendSmsMessage("+15551112222", "+15553334444", "Can you believe it's this easy to send an SMS?!");

Silverlight/Windows Phone 7/Asynchronous Requests Sample

using Twilio;
var twilio = new TwilioRestClient("accountSid", "authToken");
twilio.InitiateOutboundCall("+1123456790", "+15555551212", "", (call) => {
    // Console.WriteLog(call.Sid);

twilio.SendSmsMessage("+15555551212", "+11234567890", "Hello!", (msg) => {
    // Console.WriteLine(msg.Sid);

TwiML Generation with ASP.NET Sample

var response = new TwilioResponse();
response.Say("Hello Monkey");
response.BeginGather(new { numDigits = 1, action = "hello-monkey-handle-key.cshtml", method = "POST" });
response.Say("To speak to a real monkey, press 1. Press 2 to record your own monkey howl. Press any other key to start over.");

// ASP.NET MVC when controller inherits from TwilioController
return TwiML(response);

// ASP.NET MVC regular controller
return new TwiMLResult(response);

// ASP.NET Webforms
var doc = response.ToXDocument();
Response.ContentType = "application/xml";

Migrating from earlier versions

Migrating from original twilio/twilio-csharp (version 2.1 and below)

Moving from version 2.1 or below to 3.0 will require changes to your existing code. The library now centers around a TwilioRestClient class from which all operations you can make against the API are rooted. Refer to the [[Twilio.Api]] REST API wrapper documentation for the list of available methods.

Migrating from johnsheehan/TwilioApi

This library is derived from johnsheehan/TwilioApi. Minimal changes should be required to your code in order to use this version. The most notable change is the renaming of TwilioClient to TwilioRestClient. In addition to the REST API wrapper, this new version also includes TwiML generation and ASP.NET MVC helpers.