β‘ Real-time form submissions with instant notifications
The LeadDuo API allows you to submit form data via a simple REST endpoint, retrieve form submissions programmatically, and integrate with your CRM via webhooks or REST API. Each submission triggers optional email and SMS alerts if configured.
LeadDuo is part of the Three Core AI developer suite, alongside EngageAI and AgileAI.
The LeadDuo API uses API keys for authentication. You can generate an API key from your form settings page.
Note: Keep your API key secure. Do not expose it in client-side code or public repositories.
https://api.leadduo.io/api/v1/form/{formId}{
"ld_key": "your_form_key_here",
"email": "user@example.com",
"name": "John Doe",
"message": "I'm interested in your services"
}{
"ok": true
}Choose your preferred language to see how to submit form data
const formData = {
ld_key: 'your_form_key_here',
email: 'user@example.com',
name: 'John Doe',
message: "I'm interested in your services"
};
fetch('https://api.leadduo.io/api/v1/form/YOUR_FORM_ID', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => {
if (data.ok) {
console.log('Form submitted successfully!');
}
})
.catch(error => console.error('Error:', error));https://api.leadduo.io/api/v1/submissions?formId={formId}X-API-Key: your_api_key_here
| Parameter | Type | Description |
|---|---|---|
| formId | string | Required. Your form ID |
| limit | number | Optional. Number of submissions to return (default: 50) |
| offset | number | Optional. Number of submissions to skip (default: 0) |
{
"ok": true,
"submissions": [
{
"id": "clx1234567890",
"formId": "abc123",
"fields": {
"email": "user@example.com",
"name": "John Doe",
"message": "I'm interested in your services"
},
"createdAt": "2024-01-15T10:30:00.000Z",
"isSpam": false,
"emailSent": true,
"smsSent": true,
"qualified": true,
"qualifyScore": 13,
"qualifyData": {
"score": 13,
"qualified": true,
"responses": {
"q1762030857037": "$25,000+",
"q1762030884180": "ASAP",
"q1762031015454": true
}
}
}
],
"total": 42,
"hasMore": true
}π‘ LeadQualify Fields: If your form has LeadQualify enabled (Pro plan), submissions will include qualified, qualifyScore, and qualifyData with the full qualification responses.
Retrieve submissions with authentication
fetch('https://api.leadduo.io/api/v1/submissions?formId=YOUR_FORM_ID&limit=10', {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here'
}
})
.then(response => response.json())
.then(data => {
console.log('Submissions:', data.submissions);
console.log('Total:', data.total);
})
.catch(error => console.error('Error:', error));Form Submissions: 10 requests per hour per IP address + form key combination
API Requests: 10 requests per hour per API key + IP address combination
Rate limits help prevent abuse and ensure service reliability for all users.
| Error | Description |
|---|---|
| missing_ld_key | Form key is required |
| invalid_ld_key | Form key is invalid |
| form_not_found | Form does not exist |
| form_inactive | Form is paused |
| rate_limited | Too many requests, please try again later |
| invalid_api_key | API key is invalid or missing |
| unauthorized | You don't have permission to access this resource |
Have questions about the API? Contact us at support@leadduo.io