Developer Resources

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
// 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
// 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

MethodEndpointDescription
POST/v1/callsInitiate an AI call
GET/v1/calls/:idGet call details and transcript
POST/v1/leadsCreate a new lead
POST/v1/leads/batchBatch import leads
GET/v1/campaignsList all campaigns
POST/v1/messages/whatsappSend WhatsApp message
POST/v1/messages/smsSend SMS message
POST/v1/messages/emailSend email

Webhook Events

call.started

Fired when an AI call begins

call.completed

Fired when a call ends with full transcript

call.failed

Fired if a call fails to connect

lead.qualified

Fired when a lead meets qualification criteria

appointment.booked

Fired when a meeting is scheduled

message.delivered

Fired when WhatsApp/SMS/email is delivered

message.replied

Fired when a lead responds to a message

Example Webhook Payload
// 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

Authorization: Bearer YOUR_API_KEY

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 unlockmylead

Python

pip install unlockmylead

PHP

composer require unlockmylead/sdk

Ready to Build?

Sign up for a free account to get your API key and start building. Full documentation available in your dashboard.