Skip to main content

Programmable Voice API

With Bandwidth's Programmable Voice API, you can build a custom voice calling application that accesses our voice network using a HTTPS-based interface. Embed inbound and outbound voice capabilities via a set of well defined APIs - without the hassle of handling telecom infrastructure.

Rapidly develop voice-enabled applications by simply sending and receiving HTTPS requests. When an incoming call comes into a phone number associated with our Voice API platform, we will notify your application via a webhook event. Your application can then respond to our platform using Bandwidth XML (BXML) to launch any of our features.

SDKs

With a few lines of code we will show you how to use our REST APIs and webhooks through our docs, code samples and SDKs to build your application. Select the SDK of your choice or start testing with our Postman Collection straight away.

How it Works

  1. Initiate the call by using our REST API
  2. Bandwidth makes a HTTP GET or POST request to your application
  3. Use BXML verbs to leverage Programmable Voice API features for the call

Features

Our simple, flexible and full-featured Programmable Voice API gives you access to all the tools you need with Bandwidth. We use Bandwidth XML (BXML) so your application handles incoming call events using standard action verbs that are described in XML allowing you to create custom experiences.
Conferencing
2-person call with agent 'whisper' supervision or create up to 20 person conferences.
Text to Speech
Multiple languages, voices and SSML markup support including WAV and MP3 audio playback.
Interactive Voice Control
DTMF detection and media capabilities like Text-to-Speech and audio file playback.
Recording & Transcription
Start and stop recording during a call in both dual-channel and mono recording format with transcription.
Answering Machine Detection
Accurately detect and build flexibility to play TTS or connect a call depending on what or who has answered.
Media Streaming
Stream media in real-time over WebSockets to your preferred third-party tools.