Voice API

Add voice to your product with one API

Place and receive calls, build IVR and call flows, record and transcribe, and connect AI agents — all from a single REST API, backed by our own carrier-grade network in 220+ countries.

create-action.sh
POST /v2.0/actions
{
"name": "Inbound IVR",
"script": "branches: …",
"format": "yaml"
}
Live call00:42

Caller

+1 202 555 0142

Connected

Routed to

Sales team

Handling 2.5 million calls daily for 300+ companies

Read Callr reviews on GetAppRead Callr reviews on Capterra

Callr Actions

Build call flows in minutes, not sprints

Describe your call flow as a simple YAML scenario — greet the caller, route, record, and hand off to AI — then ship it. Test everything in Build Mode before you go live.

  • Declarative YAML scenarios
  • Test in Build Mode before production
  • Version, branch, and reuse flows
scenario.yaml
description: Greet the caller, route by menu, and record
defaults:
language: en-US
branches:
inbound-call:
actions:
- action: answer@v1
- action: say@v2
params:
what: Welcome to Callr. Press 1 for sales, 2 for support.
- action: gather@v2
params:
maxDigits: 1
timeout: 5
result: $choice
- action: startRecording@v1
- action: dial@v1
params:
to: ${{ $choice == '1' ? $sales : $support }}
result: $call
- action: voicebot@v1
if: $call.status != 'answered'
params:
engine: openai
instructions: Take a message and capture intent.
POST https://api.yourapp.com/webhooks
{
"id": "a03317440280451052hUD7yPiwWrzgGB",
"at": "2026-07-09T14:32:07Z",
"sid": "callrsid",
"type": "v2.call.inbound.ended",
"try": 0,
"payload": {
"direction": "inbound",
"callid": 240711945874,
"callerName": "",
"callerNumber": "+12025550142",
"callerRestricted": false,
"callee": "+33199001234",
"started": "2026-07-09T14:31:25Z",
"answered": "2026-07-09T14:31:29Z",
"ended": "2026-07-09T14:32:07Z",
"status": "answered",
"hangupSource": "callee",
"hangupCause": 16,
"hangupTech": "sip:200",
"durationTotal": 42,
"durationAnswered": 38,
"durationBilled": 60,
"billingDestinationLabel": "France - Geographic",
"billingDestinationID": 33,
"billingDebit": "0.0180",
"billingPaymentType": "postpaid",
"scenarioSid": "azerty00",
"scenarioName": "Inbound IVR",
"scenarioTypeName": "Actions",
"scenarioTypeVersion": "1.0"
}
}
Delivered to your endpoint

Developer-first

A REST API built for developers

Clean, well-documented REST endpoints and webhooks for everything — so voice fits the stack you already have.

REST API & webhooks

Trigger calls from your backend and get real-time webhook events — call started, answered, ended, recording ready — pushed straight to your endpoints.

Complete call detail records

Every call returns a full CDR — source, duration, recording, and cost — ready for your analytics and billing.

Built on the OpenAPI 3.1 specification. View the spec

Infrastructure

We own our network

Global coverage

220+ countries, with local, premium, and toll-free numbers.

Encrypted & secure

Every call stays private — encrypted with HTTPS, SIP TLS, and SRTP.

Reliable network

Multiple data centers worldwide with carrier-grade redundancy.

Registered carrier

Our own network delivers the performance and number localization a reseller can’t.

Built on by teams that run on calls

Dassin Bidouzo
“Call tracking has grown our brand awareness and built real trust with our clients.”

Dassin Bidouzo

Chief Digital Officer, Bien’Ici

Bien’Ici
Yannick Fauchille
“We’ve worked with Callr from the beginning and grown together. Their responsiveness and an API that keeps evolving make all the difference.”

Yannick Fauchille

Co-founder & Business Lead

Business Lead
Julien Balmont
“We prove ROI to our clients easily, without digging through data sources by hand.”

Julien Balmont

Co-founder & CTO, Zenchef

Zenchef

Ready to build with voice?

Create a free account and place your first calls in minutes — or see what teams build on Callr.

Book a demoGet started for free