What is Vapi?
Vapi is a developer-first platform for building, testing, and deploying AI-powered voice assistants. It provides a complete voice AI stack—handling telephony, speech-to-text, LLM orchestration, and text-to-speech—so developers can focus on building conversational experiences without managing complex audio pipelines.
"Vapi makes it easy to build voice AI agents that can make and receive phone calls, with sub-500ms latency and seamless integration with popular LLMs like GPT-4, Claude, and open-source models."
Telephony
Inbound & outbound
Low Latency
<500ms response
Multi-LLM
GPT-4, Claude, etc.
Function Calling
Custom tools
How Vapi Works
Vapi abstracts away the complexity of real-time voice AI, handling audio streaming, turn-taking, interruption handling, and latency optimization automatically.
Core Features
Assistant Configuration
Define your voice assistant with a system prompt, voice selection, LLM provider, and conversation settings. Vapi handles the orchestration.
Telephony Integration
Built-in phone number provisioning and SIP trunking. Make outbound calls or receive inbound calls with automatic call handling.
Function Calling / Tools
Connect your assistant to external APIs and databases. Define custom functions that the LLM can invoke during conversation—booking appointments, querying data, etc.
Interruption Handling
Natural barge-in support. When users interrupt, Vapi stops speaking and processes the new input—creating natural, human-like conversations.
Supported Providers
LLM Providers
- • OpenAI (GPT-4, GPT-4o)
- • Anthropic (Claude 3)
- • Groq (Llama, Mixtral)
- • Together AI
- • Custom (OpenAI-compatible)
STT Providers
- • Deepgram
- • AssemblyAI
- • Gladia
- • Whisper (OpenAI)
TTS Providers
- • ElevenLabs
- • OpenAI TTS
- • PlayHT
- • Deepgram
- • Rime
Quick Start
# Create an outbound call with Vapi
import requests
response = requests.post(
"https://api.vapi.ai/call/phone",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"assistantId": "your-assistant-id",
"phoneNumberId": "your-phone-id",
"customer": {
"number": "+15551234567"
}
}
)
print(response.json())
// Assistant configuration example
{
"name": "Customer Support Agent",
"model": {
"provider": "openai",
"model": "gpt-4o",
"systemPrompt": "You are a helpful customer support agent..."
},
"voice": {
"provider": "elevenlabs",
"voiceId": "rachel"
},
"firstMessage": "Hello! How can I help you today?"
}
Tip: Use the Vapi Dashboard to create and test assistants without code, then integrate via API for production.
Use Cases
Customer Support
24/7 AI phone support
Appointment Booking
Automated scheduling
Sales Outreach
Lead qualification calls
Surveys
Automated phone surveys
Reminders
Appointment confirmations
Healthcare
Patient intake & triage