Calls, built into your product.

Place and receive calls, read messages aloud in more than 100 languages, build phone menus, record, mask numbers and stream audio to your own services, all through one API.

POST/calls/1/calls

countries covered
195
text-to-speech languages
100+
calls from the browser or app
WebRTC
call events on your webhook
Live

Every building block of a phone call.

Start with a voice message and grow into full call flows, without switching providers.

  • 01

    Outbound and inbound calls

    Call any phone, receive calls on local numbers and decide in code what happens next.

  • 02

    Text-to-speech and voice messages

    Turn text into natural speech in more than 100 languages, or play your own recordings, to one person or thousands.

  • 03

    IVR and call routing

    Build menus that collect keypad input and send callers to the right team, queue or agent.

  • 04

    Number masking

    Connect two people through a virtual number so neither sees the other's, as couriers and marketplaces need.

  • 05

    Recording, conferencing, AMD

    Record calls, bring several people into one conversation and detect answering machines before they cost you.

  • 06

    Media streaming

    Stream call audio over WebSocket to your own speech recognition, analytics or AI agent.

Voice, where text is not enough.

For the moments that need a ring, a voice or a live person.

  • Voice codes

    Read one-time codes aloud for landlines and for users who cannot receive texts.

    2FA
  • Urgent alerts

    Call people when a message could be missed: outages, fraud, emergencies.

    Alerts
  • Appointment reminders

    Remind people by phone and let them confirm or cancel with a keypress.

    IVR
  • Private connections

    Let couriers, drivers and customers call each other without sharing their numbers.

    Masking
  • Support lines

    Route inbound calls, record them and plug in your own voice agents.

    Inbound

A call is just another resource.

Create a call with a POST, then follow it through ringing, answered and finished on your webhook, and act on each state.

Calls as resources
Create, update and hang up calls with predictable REST endpoints.
Event-driven control
Each state change reaches your app, so it can play audio, collect input or transfer.
From simple to custom
Send a one-shot voice message, or build complete call scenarios on the Calls API.
Read the API reference
curl -X POST "$PULSR_API_URL/calls/1/calls" \  -H "Authorization: App $PULSR_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "endpoint": { "type": "PHONE", "phoneNumber": "33639985678" },    "from": "33199004242",    "callsConfigurationId": "support-line",    "recording": { "recordingType": "AUDIO" }  }'

Call events

Illustrative example

  1. CALL_RINGING
  2. CALL_ESTABLISHED
  3. CALL_FINISHED

Global reach, European roots.

Your messages, calls and their data are processed and stored on infrastructure hosted and operated in the European Union, in line with GDPR.

  • 100% EU-hosted
  • GDPR compliant

Questions, answered.

Can I get local phone numbers?

Yes. Numbers are available in many countries, for inbound calls and as caller IDs for outbound calls. Availability and paperwork vary by country.

Which languages does text-to-speech support?

More than 100 languages and accents, with a choice of voices for each.

Can I connect my existing phone system?

Yes, through SIP trunking, so your PBX or contact centre can place and receive calls over Pulsr.

How are calls priced?

Per minute, based on the destination and the type of number. Talk to us for a quote.

Are calls recorded by default?

No. Recording is off unless you turn it on for a call, and recordings are handled in line with GDPR.

Put a voice in your product.

Tell us about your call flows and we will help you place your first call.