Using a non-Twilio phone number as the Caller ID for your outgoing calls is as easy as verifying your number, and then changing the From parameter in your API requests. Continue reading for instructions and important details.
NOTE: Verified Caller IDs cannot be used as the display name on outgoing SMS or MMS message. Verified Caller IDs are intended to be used with voice services only.
While a verified phone number can be used as a Caller ID for outbound Twilio calls, you will not be able to receive inbound calls to Twilio over this number. Incoming calls to the verified number will continue to route through the existing service provider (your wireless service, landline provider, etc.). If you would like to receive incoming calls through Twilio, you may be able to forward your calls to a Twilio phone number via your service provider. Alternatively, we may be able to port your phone number in. For more information, please see our article Porting a Phone Number to Twilio.
Notice: Telstra Australian Caller ID Restrictions - Australia has restrictions on Caller IDs to reduce scam calls. See Notice: Telstra Australian Caller ID Restrictions - Reducing Scam Calls Industry Code (November 2021) to learn more.
Step 1: Verify Your Non-Twilio Phone Number
Before you're able to place outbound calls from Twilio with a non-Twilio phone number, you'll need to verify the phone number you want to use as your caller ID. Phone number validation can be requested from Console or the API, and numbers can be verified via a phone call or SMS. For more details, please see Adding a Verified Phone Number or Caller ID with Twilio.
Step 2: Update Your Code and Place a Call
Once your non-Twilio number has been verified, it's ready to be used as the caller ID for outgoing calls. To use this phone number, input it into the From parameter of your API request using E.164 formatting.
Here’s an example cURL script - notice the
From parameter in line 3. For full details, please see Making Calls (Twilio Docs).
curl -XPOST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls.json \
--data-urlencode "To=+13105555555" \
--data-urlencode "From=+12125551234" \
--data-urlencode "Url=https://demo.twilio.com/welcome/voice/" \
This example will place an outbound call from (212) 555-1234 (
+12125551234) to the phone number (310) 555-5555 (
+13105555555), and then execute the TwiML script at https://demo.twilio.com/welcome/voice/. To make this script work for you, make the following updates, and then paste it into a terminal window:
- Line 1 update with your Account SID
- Line 2 update with a valid destination
- Line 3 update with your verified phone number
- Line 4 update with a valid TwiML URL or App SID url
- Line 5 update with your Account SID and Auth Token
Additional optional parameters can be added in your request for recording the call, sending DTMF keypresses, requesting status change updates, and more. For full details on each of the available options, please see Call Parameters (Twilio Docs).