Build multilingual voice agents in minutes
The Parlo API gives you programmatic access to real-time language detection, voice synthesis, call orchestration, and transcription across 50+ languages. One integration. Every caller, understood.
Up and running in 5 lines
Install the SDK, initialize your agent with the languages you support, and define how calls should be handled. Parlo takes care of language detection, voice synthesis, and call routing automatically.
import { Parlo } from '@parlo/sdk';
const agent = new Parlo({
apiKey: 'your-api-key',
languages: ['en', 'es', 'hi', 'fr', 'pt'],
voice: 'natural',
});
agent.onCall(async (call) => {
// Language auto-detected from first utterance
console.log(`Handling call in ${call.language}`);
await call.respond();
});
agent.listen({ port: 3000 });
Authentication
All API requests require a Bearer token in the Authorization header. Your API key is scoped to a single workspace and can be rotated from the dashboard.
curl https://api.parlo.ai/v1/calls \
-H "Authorization: Bearer pk_live_••••••••••••" \
-H "Content-Type: application/json"
What you get out of the box
Every Parlo integration ships with the full platform capability stack — no feature tiers, no add-ons during early access.
Real-time language detection
Identifies caller language within the first spoken word. No prompt, no menu.
50+ language support
English, Spanish, Hindi, French, Portuguese, Arabic, Mandarin, and 44 more.
Webhook integration
Receive real-time call events — started, transferred, completed, failed.
Call recording & transcripts
Timestamped, speaker-labeled transcripts in the caller's language plus English.
Custom voice personas
Define tone, speaking style, and accent per agent. Clone your brand voice.
Analytics dashboard
Language distribution, sentiment trends, resolution rates, and call volume.
Endpoints
Base URL: https://api.parlo.ai/v1. All requests and responses use JSON. Errors follow RFC 7807 (Problem Details).
Calls
Transcripts
Agents
Example: initiate a call
Start an outbound call with a specific agent configuration. The agentId maps to a config you created via POST /v1/agents.
const response = await fetch('https://api.parlo.ai/v1/calls', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.PARLO_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
to: '+1-555-867-5309',
agentId: 'agt_01hxv2',
metadata: { customerId: 'cus_abc123' },
}),
});
const { callId, status } = await response.json();
// { callId: 'call_9xkz3m', status: 'dialing' }
Official SDKs
Native SDK clients reduce boilerplate, handle retries and pagination, and provide typed interfaces for all request and response objects.
Until SDKs ship, the REST API is fully production-ready. Early access partners using the raw API get priority SDK beta access.
Get API keys
Join the early access program
We're onboarding a limited cohort of developers this quarter. Early access partners get production API keys, dedicated onboarding, and direct input on the roadmap.
Request API access