> ## Documentation Index
> Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Bulk SMS

> Send bulk SMS messages to multiple recipients for marketing campaigns

## Overview

This guides shows how to send an SMS text message to multiple phone numbers. You can use this technique to tell customers about new offerings or send out customer surveys, among other use cases.

You can send bulk SMS messages either by using our PHLO visual workflow builder or our APIs. Follow the instructions in one of the tabs below.

<Tabs>
  <Tab title="Using API">
    Here’s how to use Plivo APIs to send bulk marketing SMS text messages.

    <h2 id="api-how-it-works"> How it works</h2>

    <Frame>
      <img src="https://mintcdn.com/plivo/sqGJ0ONkT5kTuesy/images/sms-marketing.jpg?fit=max&auto=format&n=sqGJ0ONkT5kTuesy&q=85&s=67f7bbd9c1866afad2e1497dfa5fdd87" alt="Sending Bulk SMS Messages" width="1446" height="774" data-path="images/sms-marketing.jpg" />
    </Frame>

    <h2 id="api-prerequisites">Prerequisites</h2>

    To get started, you need a Plivo account —  [sign up](https://cx.plivo.com/signup) with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a Python development environment.

    <h2 id="api-create-the-send-sms-application">Create the send SMS application</h2>

    Create a file called `send_sms.py` and paste into it this code.

    ```py theme={null}
    import plivo

    client = plivo.RestClient('<auth_id>','<auth_token>')
    response = client.messages.create(
        src='<sender_id>',
        dst='<destination_number_1<destination_number_2>',
        text='Flash sale — half price on all products — offer expires at midnight. Use code 50OFF at checkout',)
    print(response)
    ```

    Replace the auth placeholders with your authentication credentials from the [Plivo console](https://cx.plivo.com/home). Replace the phone number placeholders with actual phone numbers in [E.164 format](https://en.wikipedia.org/wiki/E.164) (for example, +12025551234). In countries other than the US and Canada you can use a [sender ID](/docs/messaging/concepts/sender-id-usage/) for the message source. You must have a Plivo phone number to send messages to the US or Canada; you can buy a Plivo number from Phone Numbers > [Buy Numbers](https://cx.plivo.com/phone-numbers) on the Plivo console or via the [Numbers API](/docs/numbers/phone-numbers#buy-a-phone-number).

    <Note>
      <strong>Note:</strong>
      We recommend that you store your credentials in the `auth_id` and `auth_token` environment variables to avoid the possibility of accidentally committing them to source control. If you do this, you can initialize the client with no arguments and Plivo will automatically fetch the values from the environment variables. You can use `os module(os.environ)` to store environment variables and fetch them when initializing the client.
    </Note>

    <h2 id="api-test">Test</h2>

    Save the file and run it.

    ```shell theme={null}
    python send_sms.py
    ```
  </Tab>
</Tabs>
