Whatsapp Business Platform

Trusted WhatsApp messaging at scale

Deliver data-driven customer engagement globally with WhatsApp messaging—powered by Twilio.

Data-driven engagement globally with WhatsApp messaging

Integrate WhatsApp with flexible Twilio APIs and software

Reach customers on WhatsApp with unrivaled scale and connectivity. Take advantage of the WhatsApp Business Platform and build any personalized customer engagement solution with Twilio's trusted APIs, software, and first-party customer data.

Engagement Solutions


Software and APIs to meet any of your customer engagement needs

Transactional messaging

Send one-way WhatsApp messages with an API for alerts and notifications, promotions, and marketing messages.

Conversational messaging

Use WhatsApp for conversations with a single API for customer care and conversational commerce.

Contact center

Serve customers with personalized experiences over WhatsApp, or other popular channels like email, voice, SMS, and more.

Personalized communications

Own your data and deliver highly targeted, personalized communications across WhatsApp and any other channel.

Account verification

Fight fraud and build customer trust by verifying users over WhatsApp, SMS, voice, email, push, and OTPs.

Explore Twilio Verify

After analyzing several solutions, we felt that Twilio had the stability we needed, with security, high performance, and infrastructure. Not to mention that we could also explore other communication solutions, leaving our operation centralized in one partner.

Vinícius Reis Tech Lead

If you're talking about building WhatsApp infrastructure and architecture, it would seem crazy—you need way more than two developers. But, because Twilio is so easy to build with, we were able to do it with two developers, and quickly.

Connor Cirillo Senior Conversational Marketing Manager

Developer Resources


Read the Docs

Explore quick-start guides, code snippets, SDKs, and more in our comprehensive resource library to accelerate your WhatsApp solution.

Create a WhatsApp message

// 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/secure
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({
     body: 'This is a message that I want to send over WhatsApp with Twilio!',
     from: 'whatsapp:+14155238886',
     to: 'whatsapp:+15005550006'
   })
  .then(message => console.log(message.sid));
# Download the helper library from https://www.twilio.com/docs/python/install
import os
from twilio.rest import Client


# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = os.environ['TWILIO_ACCOUNT_SID']
auth_token = os.environ['TWILIO_AUTH_TOKEN']
client = Client(account_sid, auth_token)

message = client.messages \\
    .create(
         body='This is a message that I want to send over WhatsApp with Twilio!',
         from_='whatsapp:+14155238886',
         to='whatsapp:+15005550006'
     )

print(message.sid)
// Install the C# / .NET helper library from twilio.com/docs/csharp/install

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


class Program
{
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        // and set the environment variables. See http://twil.io/secure
        string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

        TwilioClient.Init(accountSid, authToken);

        var message = MessageResource.Create(
            body: "This is a message that I want to send over WhatsApp with Twilio!",
            from: new Twilio.Types.PhoneNumber("whatsapp:+14155238886"),
            to: new Twilio.Types.PhoneNumber("whatsapp:+15005550006")
        );

        Console.WriteLine(message.Sid);
    }
}
// Install the Java helper library from twilio.com/docs/java/install

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class Example {
    // Find your Account SID and Auth Token at twilio.com/console
    // and set the environment variables. See http://twil.io/secure
    public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
        Message message = Message.creator(
                new com.twilio.type.PhoneNumber("whatsapp:+15005550006"),
                new com.twilio.type.PhoneNumber("whatsapp:+14155238886"),
                "This is a message that I want to send over WhatsApp with Twilio!")
            .create();

        System.out.println(message.getSid());
    }
}
<?php

// Update the path below to your autoload.php,
// see https://getcomposer.org/doc/01-basic-usage.md
require_once '/path/to/vendor/autoload.php';

use Twilio\\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 = new Client(\$sid, \$token);

\$message = \$twilio->messages
                  ->create("whatsapp:+15005550006", // to
                           [
                               "body" => "This is a message that I want to send over WhatsApp with Twilio!",
                               "from" => "whatsapp:+14155238886"
                           ]
                  );

print(\$message->sid);
# Download the helper library from https://www.twilio.com/docs/ruby/install
require 'rubygems'
require 'twilio-ruby'

# Find your Account SID and Auth Token at twilio.com/console
# and set the environment variables. See http://twil.io/secure
account_sid = ENV['TWILIO_ACCOUNT_SID']
auth_token = ENV['TWILIO_AUTH_TOKEN']
@client = Twilio::REST::Client.new(account_sid, auth_token)

message = @client.messages
  .create(
     body: 'This is a message that I want to send over WhatsApp with Twilio!',
     from: 'whatsapp:+14155238886',
     to: 'whatsapp:+15005550006'
   )

puts message.sid
EXCLAMATION_MARK='!'
# Install the twilio-cli from https://twil.io/cli

twilio api:core:messages:create \\
    --body "This is a message that I want to send over WhatsApp with Twilio\$EXCLAMATION_MARK" \\
    --from whatsapp:+14155238886 \\
    --to whatsapp:+15005550006
EXCLAMATION_MARK='!'
curl -X POST "https://api.twilio.com/2010-04-01/Accounts/\$TWILIO_ACCOUNT_SID/Messages.json" \\
--data-urlencode "Body=This is a message that I want to send over WhatsApp with Twilio\$EXCLAMATION_MARK" \\
--data-urlencode "From=whatsapp:+14155238886" \\
--data-urlencode "To=whatsapp:+15005550006" \\
-u \$TWILIO_ACCOUNT_SID:\$TWILIO_AUTH_TOKEN

Pricing


Build your perfect WhatsApp engagement solution with Twilio

Start connecting with customers on WhatsApp with pay-as-you-go, conversation-based pricing.

New

Introducing Twilio Messaging Engagement Suite

Get simpler development, quicker time to market, and higher deliverability rates.* See how Message Scheduling, Link Shortening with Click Tracking, advanced data, and real-time dashboards can benefit your business. 

 

* In an evaluation of more than 63M messages sent through Twilio with shortened hyperlinks, messages with shortened hyperlinks by 3rd party Link Shorteners were filtered at 1.96% or 28x the rate of Twilio which was filtered at a rate of 0.07%