Build with UnlockMyLead API
Integrate AI-powered voice calling, WhatsApp, email, and SMS into your applications. RESTful API with webhooks, comprehensive documentation, and SDKs.
RESTful API
Clean, predictable endpoints with JSON responses. Easy to integrate with any tech stack.
Real-time Webhooks
Get instant notifications for calls, messages, and lead events.
Secure by Default
API key authentication, HTTPS only, and optional webhook signing.
Rate Limits
1000 requests/minute for standard plans, unlimited for enterprise.
Quick Start
// Initialize an AI call
const response = await fetch('https://api.unlockmylead.com/v1/calls', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '+1234567890',
script_id: 'script_abc123',
voice_id: 'voice_sarah_us',
metadata: {
lead_id: 'lead_xyz',
campaign: 'q4_outreach'
}
})
});
const call = await response.json();
console.log('Call initiated:', call.id);// Batch import leads
const leads = [
{ name: 'John Doe', phone: '+1234567890', email: 'john@example.com' },
{ name: 'Jane Smith', phone: '+0987654321', email: 'jane@example.com' }
];
const response = await fetch('https://api.unlockmylead.com/v1/leads/batch', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ leads })
});
const result = await response.json();
console.log('Imported:', result.imported_count);API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/calls | Initiate an AI call |
| GET | /v1/calls/:id | Get call details and transcript |
| POST | /v1/leads | Create a new lead |
| POST | /v1/leads/batch | Batch import leads |
| GET | /v1/campaigns | List all campaigns |
| POST | /v1/messages/whatsapp | Send WhatsApp message |
| POST | /v1/messages/sms | Send SMS message |
| POST | /v1/messages/email | Send email |
Webhook Events
call.startedFired when an AI call begins
call.completedFired when a call ends with full transcript
call.failedFired if a call fails to connect
lead.qualifiedFired when a lead meets qualification criteria
appointment.bookedFired when a meeting is scheduled
message.deliveredFired when WhatsApp/SMS/email is delivered
message.repliedFired when a lead responds to a message
// Webhook payload for call.completed event
{
"event": "call.completed",
"timestamp": "2025-12-15T10:30:00Z",
"data": {
"call_id": "call_abc123",
"duration_seconds": 245,
"outcome": "appointment_booked",
"transcript": "...",
"sentiment": "positive",
"qualification_score": 85,
"next_steps": ["send_calendar_invite"],
"metadata": {
"lead_id": "lead_xyz"
}
}
}Authentication
API Key Authentication
Include your API key in the Authorization header
Get your API key from the Settings > API Keys section in your dashboard. Keep your API key secure and never expose it in client-side code.
SDKs & Libraries
Node.js
npm install unlockmyleadPython
pip install unlockmyleadPHP
composer require unlockmylead/sdkReady to Build?
Sign up for a free account to get your API key and start building. Full documentation available in your dashboard.