Voice API (Programmable Voice)
Make, receive and control calls from code - REST endpoints, SDKs in six languages, real-time media streaming for AI voice agents and Dollu's own carrier network underneath.

6
SDK languages
110+
Countries with numbers
99.99%
Platform availability
What is Voice API (Programmable Voice)?
Dollu's Voice API turns our carrier network into a set of REST endpoints and SDKs. Create an outbound call with a single POST /v2/calls request, answer inbound calls on any Dollu number by returning call-control instructions from your webhook, and drive the call from there: play prompts, gather DTMF or speech, record, transfer, bridge into a conference or stream the audio to your own application over a WebSocket. Everything a traditional PBX or dialler does with proprietary hardware, you can do with a few dozen lines of code and no operator relationships of your own.
The difference is what sits underneath. Most programmable-voice vendors buy minutes and numbers from carriers like us; Dollu is the carrier. Calls placed through the API terminate over the same 600+ direct interconnects and CLI-guaranteed routes that carry our wholesale traffic, and inbound calls arrive on numbers we hold in 110+ countries. That means fewer hops, cleaner caller ID, lower per-minute rates and one party accountable when something goes wrong, rather than a support ticket that is forwarded to an unnamed upstream provider.
The API is built for the current generation of voice applications. Bidirectional media streaming delivers raw audio (PCM, µ-law or Opus) over a WebSocket within milliseconds of the caller speaking, so you can plug in your own speech recogniser, LLM or voice agent and stream synthesised audio back into the call. Native speech-to-text and text-to-speech in 40+ languages, answering-machine detection, noise suppression and SIP interconnect to your existing platform mean you can start simple and add sophistication as your product matures.
Developer experience is treated as a product. Every account gets a sandbox with test numbers and simulated call events, SDKs for Node.js, Python, Java, Go, PHP and .NET, an OpenAPI specification, idempotent requests, signed webhooks and call logs with SIP traces in the console. Usage is metered per second and billed monthly, sub-accounts isolate your own customers, and the same 24×7 NOC that supports our carrier customers is a ticket away when you need someone who understands both the API and the PSTN.
CPaaS request and event flow: REST in, webhooks out.
Why choose Dollu for voice api.
The advantages of buying from a carrier that owns its network, interconnects and operations - rather than a reseller.
Carrier underneath, not a reseller
Your calls ride Dollu's own 600+ direct interconnects and CLI-guaranteed routes, so quality, caller-ID delivery and per-minute cost are controlled by the same company that answers your support ticket.
Ship in days, not quarters
A sandbox key, an SDK and a webhook URL are enough to place a call in minutes; IVR, recording and conferencing are additional JSON verbs, not additional projects.
Built for voice AI
Sub-150 ms bidirectional media streaming, barge-in support, native STT/TTS and answering-machine detection give voice-agent builders the primitives they need without hacking around a legacy call model.
Observability into every leg
Per-call SIP ladders, RTP quality metrics, webhook delivery logs and event timelines in the console and via GET /v2/calls/{id}/events, so debugging does not mean guessing.
Predictable per-second pricing
Per-second billing with no connection fees, published per-destination rates from our wholesale deck and volume tiers that step down automatically as your traffic grows.
Capabilities in detail.
Everything included with Voice API (Programmable Voice) - the platform features, options and controls you get from day one.
- 01
Outbound and inbound calls
POST /v2/calls with to, from and an answer_url places a call to any of 230+ destinations; inbound calls to your Dollu numbers hit the same webhook model. Custom caller ID, SIP headers and per-call timeouts are supported.
- 02
Call-control verbs
Return JSON instructions - answer, say, play, gather, record, dial, bridge, conference, stream, hangup - from your webhook, or update a live call with PATCH /v2/calls/{id} to redirect it mid-flow.
- 03
IVR and speech input
Gather DTMF or free speech with configurable timeouts and end-of-input rules; speech-to-text in 40+ languages with hints and phrase lists; neural text-to-speech voices with SSML support for prompts.
- 04
Recording and transcription
Single or dual-channel recording started at call start or on demand, PCI pause/resume, encrypted storage with configurable retention, and asynchronous transcription delivered via the recording.completed webhook.
- 05
Conferencing
Mixed-audio conferences of up to 250 participants with moderator, mute, hold-music, coach (whisper) and barge controls; participants can be PSTN callers, SIP endpoints or WebRTC clients.
- 06
Media streaming
Fork or bidirectionally stream call audio over a secure WebSocket as PCM 8/16 kHz, µ-law or Opus; send audio back to play into the call; ideal for custom STT, LLM voice agents and real-time analytics.
- 07
SIP interconnect and BYOC
Route API calls to or from your own SIP PBX, contact-centre platform or dialler; SIP REFER transfers, custom X-headers passthrough and TLS/SRTP so the API becomes an intelligent layer around what you already run.
- 08
Webhooks and events
call.initiated, call.ringing, call.answered, call.completed, machine.detected, recording.completed and dtmf.received delivered as HMAC-SHA256-signed JSON with automatic retries and dead-letter visibility.
- 09
Numbers, sandbox and tooling
Search and buy local, mobile and toll-free numbers with POST /v2/numbers, configure voice_url per number, replay webhook payloads and simulate call flows in a sandbox that never touches the PSTN.
How it works.
From first conversation to live traffic - a tracked, engineer-led onboarding with a named owner at every step.
- Step 01
Get a sandbox key
Sign up, generate an API key and install the SDK of your choice. The sandbox comes with test numbers and simulated call events, so you can build the whole flow before spending anything.
- Step 02
Point a number at your app
Buy a number with POST /v2/numbers and set its voice_url to your webhook. Inbound calls will now ask your application what to do and follow the JSON verbs you return.
- Step 03
Make your first call
Send POST /v2/calls with to, from and an answer_url. Handle call.answered and call.completed on your webhook, add recording or streaming as needed and inspect the SIP trace in the console.
- Step 04
Go to production
Complete KYC, add a payment method or credit line, raise CPS and channel limits with your account manager and enable sub-accounts, IP allow-lists and alerting for live traffic.
Who uses this and why.
Typical deployments across carriers, enterprises, platforms and contact centres.
AI voice agents
Stream caller audio to your LLM pipeline over WebSocket, synthesise responses back into the call and escalate to a human with a single dial verb.
Contact centre and outbound dialling
Build predictive or preview diallers, agent softphones and IVR front doors on carrier-grade routes with answering-machine detection and compliance recording.
Reminders and voice notifications
Appointment confirmations, delivery alerts and payment reminders read out in 40+ languages with DTMF confirmation captured back to your CRM.
Click-to-call and number masking
Connect buyers and sellers, drivers and passengers or patients and clinics without exposing personal numbers, with recording and analytics per session.
Voice inside SaaS products
Add calling, conferencing and voicemail to CRMs, help-desk tools and vertical SaaS without becoming a telecom operator yourself.
Technical & commercial specifications.
Key parameters at a glance. Ask us for the full service description and SLA document.
| API | REST/JSON over HTTPS at api.dollu.com/v2; OpenAPI 3.1 specification |
|---|---|
| Authentication | API keys with scopes or OAuth 2.0 client credentials; IP allow-lists |
| SDKs | Node.js, Python, Java, Go, PHP, .NET; CLI for scripting |
| Webhooks | JSON over HTTPS, HMAC-SHA256 signed, retries with backoff up to 24 h |
| Media | G.711, G.722, Opus on the wire; streaming PCM 8/16 kHz, µ-law, Opus over WSS |
| Speech | STT and TTS in 40+ languages; SSML; answering-machine detection |
| Conferencing | Up to 250 participants; recording; moderator and coach controls |
| Coverage | Outbound to 230+ destinations; inbound numbers in 110+ countries |
| Rate limits | 100 CPS and 1,000 concurrent calls by default; higher on request |
| Billing | Per second, no connection fee; postpaid or prepaid; USD/EUR/GBP/INR |
How APIs / CPaaS are priced.
APIs are usage-based: per minute, per message, per verification, per participant-minute or per email - at carrier pricing, because Dollu’s own network sits underneath the endpoints.
We publish the model, not a public rate card - actual rates depend on destination, route class, volume and regulatory cost. See how every Dollu service is priced.
- Free sandbox for development and testing
- Sub-account and reseller rate decks
- Committed-spend discounts by monthly usage
- No platform fee at entry volumes
- Numbers added at rental + usage
- Billing
- Metered per unit; prepaid balance or postpaid invoicing; usage visible in real time in the portal and API
- Commitment
- None; committed monthly spend earns tiered discounts
Voice API - your questions answered.
The questions customers and carriers ask us most often before they interconnect. If yours is not here, our team answers within one business day.
Still have a question?
Ask our solutions teamRelated services.
Services customers commonly combine with Voice API (Programmable Voice).
Place your first call in five minutes.
Create a sandbox account, grab an API key and make a test call with the SDK of your choice - or write to [email protected] about volume pricing and SIP interconnect.
